C#: Fix CFG for C# 6 initializers

This commit is contained in:
Tom Hvitved
2020-05-20 11:53:22 +02:00
parent 36e29e0f75
commit 7a54a90e61
7 changed files with 269 additions and 85 deletions

View File

@@ -501,7 +501,7 @@ module ControlFlow {
private class WriteAccessNoNodeExpr extends WriteAccess, NoNodeExpr {
WriteAccessNoNodeExpr() {
// For example a write to a static field, `Foo.Bar = 0`.
forall(Expr e | e = this.(QualifiableExpr).getQualifier() | e instanceof NoNodeExpr)
forall(Expr e | e = this.getAChildExpr() | e instanceof NoNodeExpr)
}
}
@@ -553,7 +553,17 @@ module ControlFlow {
* not evaluated, only the qualifier and the indexer arguments (if any).
*/
private class QualifiedWriteAccess extends WriteAccess, QualifiableExpr {
QualifiedWriteAccess() { this.hasQualifier() }
QualifiedWriteAccess() {
this.hasQualifier()
or
// Member initializers like
// ```
// new Dictionary<int, string>() { [0] = "Zero", [1] = "One", [2] = "Two" }
// ```
// need special treatment, because the the accesses `[0]`, `[1]`, and `[2]`
// have no qualifier.
this = any(MemberInitializer mi).getLValue()
}
}
/** A normal or a (potential) dynamic call to an accessor. */

View File

@@ -408,7 +408,7 @@
| Initializers.cs:31:9:31:11 | enter Sub | Initializers.cs:31:9:31:11 | exit Sub | 11 |
| Initializers.cs:33:9:33:11 | enter Sub | Initializers.cs:33:9:33:11 | exit Sub | 8 |
| Initializers.cs:35:9:35:11 | enter Sub | Initializers.cs:35:9:35:11 | exit Sub | 18 |
| Initializers.cs:51:10:51:13 | enter Test | Initializers.cs:51:10:51:13 | exit Test | 69 |
| Initializers.cs:51:10:51:13 | enter Test | Initializers.cs:51:10:51:13 | exit Test | 104 |
| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:9:13:9:28 | ... == ... | 7 |
| LoopUnrolling.cs:7:10:7:11 | exit M1 | LoopUnrolling.cs:7:10:7:11 | exit M1 | 1 |
| LoopUnrolling.cs:10:13:10:19 | return ...; | LoopUnrolling.cs:10:13:10:19 | return ...; | 1 |

View File

@@ -1774,69 +1774,104 @@ dominance
| 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<Int32,String> |
| Initializers.cs:54:13:54:95 | Dictionary<Int32,String> dict = ... | Initializers.cs:57:9:65:10 | ... ...; |
| Initializers.cs:54:20:54:95 | object creation of type Dictionary<Int32,String> | Initializers.cs:54:58:54:63 | "Zero" |
| Initializers.cs:54:20:54:95 | object creation of type Dictionary<Int32,String> | Initializers.cs:54:53:54:53 | 0 |
| Initializers.cs:54:50:54:95 | { ..., ... } | Initializers.cs:54:13:54:95 | Dictionary<Int32,String> 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:72:54:76 | "One" |
| 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:89:54:93 | "Two" |
| 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: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: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 |
| Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:59:39:59:44 | "Zero" |
| 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:76 | ... = ... | Initializers.cs:60:42:60:48 | "Three" |
| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:60:37:60:37 | 3 |
| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:13:59:76 | ... = ... |
| Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:59:33:59:44 | ... = ... |
| Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:53:59:57 | "One" |
| 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:70:59:74 | "Two" |
| 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: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: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:34:61:39 | "Zero" |
| 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:57:60:61 | "Two" |
| 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:74:60:78 | "One" |
| 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: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: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:58 | ... = ... | Initializers.cs:62:38:62:40 | "i" |
| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:62:30:62:30 | 0 |
| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:13:61:58 | ... = ... |
| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:52:61:56 | "One" |
| 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:39 | ... = ... |
| Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:26:61:58 | { ..., ... } |
| 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:47:61:47 | 1 | Initializers.cs:61:43:61:47 | ... + ... |
| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:42:61:56 | ... = ... |
| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:63:37:63:41 | "One" |
| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:63:32:63:32 | 1 |
| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:13:62:60 | ... = ... |
| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:56:62:58 | "1" |
| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:44:62:44 | 1 |
| 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:40 | ... = ... |
| 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: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:51:62:51 | 0 | Initializers.cs:62:47:62:51 | ... + ... |
| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:43:62:58 | ... = ... |
| 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:41:64:43 | "i" |
| 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:41 | ... = ... | Initializers.cs:63:54:63:58 | "Two" |
| 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:41 | ... = ... |
| Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:29:63:60 | { ..., ... } |
| 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:49:63:49 | 2 | Initializers.cs:63:45:63:49 | ... + ... |
| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:44:63:58 | ... = ... |
| 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:43 | ... = ... | Initializers.cs:64:59:64:61 | "1" |
| Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:47:64:47 | 1 |
| 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:43 | ... = ... |
| 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: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:54:64:54 | 0 | Initializers.cs:64:50:64:54 | ... + ... |
| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:46:64:61 | ... = ... |
| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:8:5:13:5 | {...} |
| LoopUnrolling.cs:8:5:13:5 | {...} | LoopUnrolling.cs:9:9:10:19 | if (...) ... |
@@ -4758,13 +4793,18 @@ postDominance
| 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:58:54:63 | "Zero" | Initializers.cs:54:20:54:95 | object creation of type Dictionary<Int32,String> |
| Initializers.cs:54:53:54:53 | 0 | Initializers.cs:54:20:54:95 | object creation of type Dictionary<Int32,String> |
| 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:72:54:76 | "One" | Initializers.cs:54:52:54:63 | ... = ... |
| 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:89:54:93 | "Two" | Initializers.cs:54:66:54:76 | ... = ... |
| Initializers.cs:54:80:54:80 | access to parameter i | Initializers.cs:54:66:54:76 | ... = ... |
| Initializers.cs:54:80:54:84 | ... + ... | Initializers.cs:54:84:54:84 | 2 |
| 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<Int32,String> 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 | ... ...; |
@@ -4773,51 +4813,81 @@ postDominance
| 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:39:59:44 | "Zero" | Initializers.cs:57:24:65:9 | object creation of type Compound |
| 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:53:59:57 | "One" | Initializers.cs:59:33:59:44 | ... = ... |
| 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:70:59:74 | "Two" | Initializers.cs:59:47:59:57 | ... = ... |
| Initializers.cs:59:61:59:61 | access to parameter i | Initializers.cs:59:47:59:57 | ... = ... |
| Initializers.cs:59:61:59:65 | ... + ... | Initializers.cs:59:65:59:65 | 2 |
| 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:42:60:48 | "Three" | Initializers.cs:59:13:59:76 | ... = ... |
| 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:57:60:61 | "Two" | Initializers.cs:60:36:60:48 | ... = ... |
| 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:74:60:78 | "One" | Initializers.cs:60:51:60:61 | ... = ... |
| Initializers.cs:60:65:60:65 | access to parameter i | Initializers.cs:60:51:60:61 | ... = ... |
| Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:60:69:60:69 | 1 |
| 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:58 | ... = ... | Initializers.cs:61:26:61:58 | { ..., ... } |
| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:42:61:56 | ... = ... |
| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:34:61:39 | "Zero" |
| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:60:13:60:80 | ... = ... |
| 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:56 | ... = ... | Initializers.cs:61:52:61:56 | "One" |
| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:28:61:39 | ... = ... |
| Initializers.cs:61:43:61:43 | access to parameter i | Initializers.cs:61:28:61:39 | ... = ... |
| Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:61:47:61:47 | 1 |
| 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:60 | ... = ... | Initializers.cs:62:27:62:60 | { ..., ... } |
| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:43:62:58 | ... = ... |
| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:38:62:40 | "i" |
| Initializers.cs:62:38:62:40 | "i" | Initializers.cs:61:13:61:58 | ... = ... |
| Initializers.cs:62:30:62:30 | 0 | Initializers.cs:61:13:61:58 | ... = ... |
| 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:58 | ... = ... | Initializers.cs:62:56:62:58 | "1" |
| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:29:62:40 | ... = ... |
| 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:47:62:51 | ... + ... | Initializers.cs:62:51:62:51 | 0 |
| 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:41 | ... = ... | Initializers.cs:63:37:63:41 | "One" |
| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:62:13:62:60 | ... = ... |
| 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:58 | ... = ... | Initializers.cs:63:54:63:58 | "Two" |
| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:31:63:41 | ... = ... |
| Initializers.cs:63:45:63:45 | access to parameter i | Initializers.cs:63:31:63:41 | ... = ... |
| Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:63:49:63:49 | 2 |
| 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:43 | ... = ... | Initializers.cs:64:41:64:43 | "i" |
| Initializers.cs:64:41:64:43 | "i" | Initializers.cs:63:13:63:60 | ... = ... |
| Initializers.cs:64:33:64:33 | 0 | Initializers.cs:63:13:63:60 | ... = ... |
| 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:61 | ... = ... | Initializers.cs:64:59:64:61 | "1" |
| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:32:64:43 | ... = ... |
| 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:50:64:54 | ... + ... | Initializers.cs:64:54:64:54 | 0 |
| 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:7:10:7:11 | exit M1 | LoopUnrolling.cs:10:13:10:19 | return ...; |
| LoopUnrolling.cs:7:10:7:11 | exit M1 | LoopUnrolling.cs:11:9:12:35 | foreach (... ... in ...) ... |
| LoopUnrolling.cs:8:5:13:5 | {...} | LoopUnrolling.cs:7:10:7:11 | enter M1 |

View File

@@ -1915,12 +1915,17 @@ nodeEnclosing
| Initializers.cs:54:50:54:95 | { ..., ... } | 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: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 | 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: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 | 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: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: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:13:65:9 | Compound compound = ... | Initializers.cs:51:10:51:13 | Test |
@@ -1930,50 +1935,80 @@ nodeEnclosing
| Initializers.cs:59:31:59:76 | { ..., ... } | 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: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 | 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: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 | 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: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: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 | 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:34:60:80 | { ..., ... } | 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: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 | 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: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 | 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: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: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:58 | ... = ... | 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:39 | ... = ... | 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:56 | ... = ... | 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: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:60 | ... = ... | 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:40 | ... = ... | 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:58 | ... = ... | 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: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 | 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:29:63:60 | { ..., ... } | Initializers.cs:51:10:51:13 | Test |
| Initializers.cs:63:31:63:41 | ... = ... | 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:58 | ... = ... | 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: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 | 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:30:64:63 | { ..., ... } | Initializers.cs:51:10:51:13 | Test |
| Initializers.cs:64:32:64:43 | ... = ... | 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:61 | ... = ... | 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: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: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 |

View File

@@ -1298,14 +1298,17 @@
| Initializers.cs:54:9:54:96 | ... ...; | Initializers.cs:54:9:54:96 | ... ...; |
| Initializers.cs:54:13:54:95 | Dictionary<Int32,String> dict = ... | Initializers.cs:54:20:54:95 | object creation of type Dictionary<Int32,String> |
| Initializers.cs:54:20:54:95 | object creation of type Dictionary<Int32,String> | Initializers.cs:54:20:54:95 | object creation of type Dictionary<Int32,String> |
| Initializers.cs:54:50:54:95 | { ..., ... } | Initializers.cs:54:58:54:63 | "Zero" |
| Initializers.cs:54:52:54:63 | ... = ... | Initializers.cs:54:58:54:63 | "Zero" |
| 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 |
| Initializers.cs:54:52:54:63 | ... = ... | Initializers.cs:54:53:54:53 | 0 |
| Initializers.cs:54:53:54:53 | 0 | Initializers.cs:54:53:54:53 | 0 |
| Initializers.cs:54:58:54:63 | "Zero" | Initializers.cs:54:58:54:63 | "Zero" |
| Initializers.cs:54:66:54:76 | ... = ... | Initializers.cs:54:72:54:76 | "One" |
| 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:67:54:67 | 1 |
| Initializers.cs:54:67:54:67 | 1 | Initializers.cs:54:67:54:67 | 1 |
| Initializers.cs:54:72:54:76 | "One" | Initializers.cs:54:72:54:76 | "One" |
| Initializers.cs:54:79:54:93 | ... = ... | Initializers.cs:54:89:54:93 | "Two" |
| Initializers.cs:54:79:54:85 | access to indexer | Initializers.cs:54:80:54:80 | access to parameter i |
| Initializers.cs:54:79:54:93 | ... = ... | Initializers.cs:54:80:54:80 | access to parameter i |
| Initializers.cs:54:80:54:80 | access to parameter i | Initializers.cs:54:80:54:80 | access to parameter i |
| Initializers.cs:54:80:54:84 | ... + ... | Initializers.cs:54:80:54:80 | access to parameter i |
| Initializers.cs:54:84:54:84 | 2 | Initializers.cs:54:84:54:84 | 2 |
@@ -1313,72 +1316,86 @@
| 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: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:39:59:44 | "Zero" |
| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:59:39:59:44 | "Zero" |
| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:39:59:44 | "Zero" |
| Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:39:59:44 | "Zero" |
| 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: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 |
| Initializers.cs:59:34:59:34 | 0 | Initializers.cs:59:34:59:34 | 0 |
| Initializers.cs:59:39:59:44 | "Zero" | Initializers.cs:59:39:59:44 | "Zero" |
| Initializers.cs:59:47:59:57 | ... = ... | Initializers.cs:59:53:59:57 | "One" |
| 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:48:59:48 | 1 |
| Initializers.cs:59:48:59:48 | 1 | Initializers.cs:59:48:59:48 | 1 |
| Initializers.cs:59:53:59:57 | "One" | Initializers.cs:59:53:59:57 | "One" |
| Initializers.cs:59:60:59:74 | ... = ... | Initializers.cs:59:70:59:74 | "Two" |
| Initializers.cs:59:60:59:66 | access to indexer | Initializers.cs:59:61:59:61 | access to parameter i |
| Initializers.cs:59:60:59:74 | ... = ... | Initializers.cs:59:61:59:61 | access to parameter i |
| Initializers.cs:59:61:59:61 | access to parameter i | Initializers.cs:59:61:59:61 | access to parameter i |
| 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:42:60:48 | "Three" |
| Initializers.cs:60:34:60:80 | { ..., ... } | Initializers.cs:60:42:60:48 | "Three" |
| Initializers.cs:60:36:60:48 | ... = ... | Initializers.cs:60:42:60:48 | "Three" |
| Initializers.cs:60:13:60:80 | ... = ... | Initializers.cs:60:37:60:37 | 3 |
| 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 |
| Initializers.cs:60:37:60:37 | 3 | Initializers.cs:60:37:60:37 | 3 |
| Initializers.cs:60:42:60:48 | "Three" | Initializers.cs:60:42:60:48 | "Three" |
| Initializers.cs:60:51:60:61 | ... = ... | Initializers.cs:60:57:60:61 | "Two" |
| 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:52:60:52 | 2 |
| Initializers.cs:60:52:60:52 | 2 | Initializers.cs:60:52:60:52 | 2 |
| Initializers.cs:60:57:60:61 | "Two" | Initializers.cs:60:57:60:61 | "Two" |
| Initializers.cs:60:64:60:78 | ... = ... | Initializers.cs:60:74:60:78 | "One" |
| Initializers.cs:60:64:60:70 | access to indexer | Initializers.cs:60:65:60:65 | access to parameter i |
| Initializers.cs:60:64:60:78 | ... = ... | Initializers.cs:60:65:60:65 | access to parameter i |
| Initializers.cs:60:65:60:65 | access to parameter i | Initializers.cs:60:65:60:65 | access to parameter i |
| 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:34:61:39 | "Zero" |
| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:34:61:39 | "Zero" |
| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:34:61:39 | "Zero" |
| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:61:29:61:29 | 0 |
| 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 |
| Initializers.cs:61:29:61:29 | 0 | Initializers.cs:61:29:61:29 | 0 |
| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:34:61:39 | "Zero" |
| Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:52:61:56 | "One" |
| Initializers.cs:61:42:61:48 | access to array element | Initializers.cs:61:43:61:43 | access to parameter i |
| Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:43:61:43 | access to parameter i |
| Initializers.cs:61:43:61:43 | access to parameter i | Initializers.cs:61:43:61:43 | access to parameter i |
| 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:38:62:40 | "i" |
| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:38:62:40 | "i" |
| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:38:62:40 | "i" |
| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:62:30:62:30 | 0 |
| 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 |
| Initializers.cs:62:30:62:30 | 0 | 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:43:62:58 | ... = ... | Initializers.cs:62:56:62:58 | "1" |
| Initializers.cs:62:43:62:52 | access to array element | Initializers.cs:62:44:62:44 | 1 |
| Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:62:44:62:44 | 1 |
| Initializers.cs:62:44:62:44 | 1 | Initializers.cs:62:44:62:44 | 1 |
| Initializers.cs:62:47:62:47 | access to parameter i | Initializers.cs:62:47:62:47 | access to parameter i |
| 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:37:63:41 | "One" |
| Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:63:37:63:41 | "One" |
| Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:37:63:41 | "One" |
| Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:63:32:63:32 | 1 |
| 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 |
| Initializers.cs:63:32:63:32 | 1 | Initializers.cs:63:32:63:32 | 1 |
| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:37:63:41 | "One" |
| Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:54:63:58 | "Two" |
| Initializers.cs:63:44:63:50 | access to array element | Initializers.cs:63:45:63:45 | access to parameter i |
| Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:45:63:45 | access to parameter i |
| Initializers.cs:63:45:63:45 | access to parameter i | Initializers.cs:63:45:63:45 | access to parameter i |
| 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:41:64:43 | "i" |
| Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:64:41:64:43 | "i" |
| Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:41:64:43 | "i" |
| Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:64:33:64:33 | 0 |
| 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 |
| Initializers.cs:64:33:64:33 | 0 | 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:46:64:61 | ... = ... | Initializers.cs:64:59:64:61 | "1" |
| Initializers.cs:64:46:64:55 | access to array element | Initializers.cs:64:47:64:47 | 1 |
| Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:64:47:64:47 | 1 |
| Initializers.cs:64:47:64:47 | 1 | Initializers.cs:64:47:64:47 | 1 |
| Initializers.cs:64:50:64:50 | access to parameter i | Initializers.cs:64:50:64:50 | access to parameter i |
| Initializers.cs:64:50:64:54 | ... + ... | Initializers.cs:64:50:64:50 | access to parameter i |

View File

@@ -1793,12 +1793,15 @@
| Initializers.cs:54:13:54:95 | Dictionary<Int32,String> dict = ... | Initializers.cs:54:13:54:95 | Dictionary<Int32,String> dict = ... | normal |
| Initializers.cs:54:20:54:95 | object creation of type Dictionary<Int32,String> | 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 |
@@ -1810,12 +1813,15 @@
| 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 |
@@ -1823,12 +1829,15 @@
| 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 |
@@ -1836,9 +1845,11 @@
| 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 |
@@ -1846,10 +1857,12 @@
| 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 |
@@ -1858,9 +1871,11 @@
| 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 |
@@ -1868,10 +1883,12 @@
| 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 |

View File

@@ -1983,69 +1983,104 @@
| Initializers.cs:52:5:66:5 | {...} | Initializers.cs:54:9:54:96 | ... ...; | semmle.label | successor |
| Initializers.cs:54:9:54:96 | ... ...; | Initializers.cs:54:20:54:95 | object creation of type Dictionary<Int32,String> | semmle.label | successor |
| Initializers.cs:54:13:54:95 | Dictionary<Int32,String> dict = ... | Initializers.cs:57:9:65:10 | ... ...; | semmle.label | successor |
| Initializers.cs:54:20:54:95 | object creation of type Dictionary<Int32,String> | Initializers.cs:54:58:54:63 | "Zero" | semmle.label | successor |
| Initializers.cs:54:20:54:95 | object creation of type Dictionary<Int32,String> | Initializers.cs:54:53:54:53 | 0 | semmle.label | successor |
| Initializers.cs:54:50:54:95 | { ..., ... } | Initializers.cs:54:13:54:95 | Dictionary<Int32,String> dict = ... | semmle.label | successor |
| Initializers.cs:54:52:54:54 | access to indexer | Initializers.cs:54:52:54:63 | ... = ... | semmle.label | successor |
| Initializers.cs:54:52:54:63 | ... = ... | Initializers.cs:54:72:54:76 | "One" | semmle.label | successor |
| Initializers.cs:54:52:54:63 | ... = ... | Initializers.cs:54:67:54:67 | 1 | semmle.label | successor |
| Initializers.cs:54:53:54:53 | 0 | Initializers.cs:54:58:54:63 | "Zero" | semmle.label | successor |
| Initializers.cs:54:58:54:63 | "Zero" | Initializers.cs:54:52:54:54 | access to indexer | semmle.label | successor |
| Initializers.cs:54:66:54:68 | access to indexer | Initializers.cs:54:66:54:76 | ... = ... | semmle.label | successor |
| Initializers.cs:54:66:54:76 | ... = ... | Initializers.cs:54:89:54:93 | "Two" | semmle.label | successor |
| Initializers.cs:54:66:54:76 | ... = ... | Initializers.cs:54:80:54:80 | access to parameter i | semmle.label | successor |
| Initializers.cs:54:67:54:67 | 1 | Initializers.cs:54:72:54:76 | "One" | semmle.label | successor |
| Initializers.cs:54:72:54:76 | "One" | Initializers.cs:54:66:54:68 | access to indexer | semmle.label | successor |
| Initializers.cs:54:79:54:85 | access to indexer | Initializers.cs:54:79:54:93 | ... = ... | semmle.label | successor |
| Initializers.cs:54:79:54:93 | ... = ... | Initializers.cs:54:50:54:95 | { ..., ... } | semmle.label | successor |
| Initializers.cs:54:80:54:80 | access to parameter i | Initializers.cs:54:84:54:84 | 2 | semmle.label | successor |
| Initializers.cs:54:80:54:84 | ... + ... | Initializers.cs:54:89:54:93 | "Two" | semmle.label | successor |
| Initializers.cs:54:84:54:84 | 2 | Initializers.cs:54:80:54:84 | ... + ... | semmle.label | successor |
| Initializers.cs:54:89:54:93 | "Two" | Initializers.cs:54:79:54:85 | access to indexer | semmle.label | successor |
| Initializers.cs:57:9:65:10 | ... ...; | Initializers.cs:57:24:65:9 | object creation of type Compound | semmle.label | successor |
| Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:51:10:51:13 | exit Test | semmle.label | successor |
| Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:59:39:59:44 | "Zero" | semmle.label | successor |
| Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:59:34:59:34 | 0 | semmle.label | successor |
| Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:57:13:65:9 | Compound compound = ... | semmle.label | successor |
| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:60:42:60:48 | "Three" | semmle.label | successor |
| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:60:37:60:37 | 3 | semmle.label | successor |
| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:13:59:76 | ... = ... | semmle.label | successor |
| Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:59:33:59:44 | ... = ... | semmle.label | successor |
| Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:53:59:57 | "One" | semmle.label | successor |
| Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:48:59:48 | 1 | semmle.label | successor |
| Initializers.cs:59:34:59:34 | 0 | Initializers.cs:59:39:59:44 | "Zero" | semmle.label | successor |
| Initializers.cs:59:39:59:44 | "Zero" | Initializers.cs:59:33:59:35 | access to indexer | semmle.label | successor |
| Initializers.cs:59:47:59:49 | access to indexer | Initializers.cs:59:47:59:57 | ... = ... | semmle.label | successor |
| Initializers.cs:59:47:59:57 | ... = ... | Initializers.cs:59:70:59:74 | "Two" | semmle.label | successor |
| Initializers.cs:59:47:59:57 | ... = ... | Initializers.cs:59:61:59:61 | access to parameter i | semmle.label | successor |
| Initializers.cs:59:48:59:48 | 1 | Initializers.cs:59:53:59:57 | "One" | semmle.label | successor |
| Initializers.cs:59:53:59:57 | "One" | Initializers.cs:59:47:59:49 | access to indexer | semmle.label | successor |
| Initializers.cs:59:60:59:66 | access to indexer | Initializers.cs:59:60:59:74 | ... = ... | semmle.label | successor |
| Initializers.cs:59:60:59:74 | ... = ... | Initializers.cs:59:31:59:76 | { ..., ... } | semmle.label | successor |
| Initializers.cs:59:61:59:61 | access to parameter i | Initializers.cs:59:65:59:65 | 2 | semmle.label | successor |
| Initializers.cs:59:61:59:65 | ... + ... | Initializers.cs:59:70:59:74 | "Two" | semmle.label | successor |
| Initializers.cs:59:65:59:65 | 2 | Initializers.cs:59:61:59:65 | ... + ... | semmle.label | successor |
| Initializers.cs:59:70:59:74 | "Two" | Initializers.cs:59:60:59:66 | access to indexer | semmle.label | successor |
| Initializers.cs:60:13:60:30 | access to property DictionaryProperty | Initializers.cs:60:13:60:80 | ... = ... | semmle.label | successor |
| Initializers.cs:60:13:60:80 | ... = ... | Initializers.cs:61:34:61:39 | "Zero" | semmle.label | successor |
| Initializers.cs:60:13:60:80 | ... = ... | Initializers.cs:61:29:61:29 | 0 | semmle.label | successor |
| Initializers.cs:60:34:60:80 | { ..., ... } | Initializers.cs:60:13:60:30 | access to property DictionaryProperty | semmle.label | successor |
| Initializers.cs:60:36:60:38 | access to indexer | Initializers.cs:60:36:60:48 | ... = ... | semmle.label | successor |
| Initializers.cs:60:36:60:48 | ... = ... | Initializers.cs:60:57:60:61 | "Two" | semmle.label | successor |
| Initializers.cs:60:36:60:48 | ... = ... | Initializers.cs:60:52:60:52 | 2 | semmle.label | successor |
| Initializers.cs:60:37:60:37 | 3 | Initializers.cs:60:42:60:48 | "Three" | semmle.label | successor |
| Initializers.cs:60:42:60:48 | "Three" | Initializers.cs:60:36:60:38 | access to indexer | semmle.label | successor |
| Initializers.cs:60:51:60:53 | access to indexer | Initializers.cs:60:51:60:61 | ... = ... | semmle.label | successor |
| Initializers.cs:60:51:60:61 | ... = ... | Initializers.cs:60:74:60:78 | "One" | semmle.label | successor |
| Initializers.cs:60:51:60:61 | ... = ... | Initializers.cs:60:65:60:65 | access to parameter i | semmle.label | successor |
| Initializers.cs:60:52:60:52 | 2 | Initializers.cs:60:57:60:61 | "Two" | semmle.label | successor |
| Initializers.cs:60:57:60:61 | "Two" | Initializers.cs:60:51:60:53 | access to indexer | semmle.label | successor |
| Initializers.cs:60:64:60:70 | access to indexer | Initializers.cs:60:64:60:78 | ... = ... | semmle.label | successor |
| Initializers.cs:60:64:60:78 | ... = ... | Initializers.cs:60:34:60:80 | { ..., ... } | semmle.label | successor |
| Initializers.cs:60:65:60:65 | access to parameter i | Initializers.cs:60:69:60:69 | 1 | semmle.label | successor |
| Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:60:74:60:78 | "One" | semmle.label | successor |
| Initializers.cs:60:69:60:69 | 1 | Initializers.cs:60:65:60:69 | ... + ... | semmle.label | successor |
| Initializers.cs:60:74:60:78 | "One" | Initializers.cs:60:64:60:70 | access to indexer | semmle.label | successor |
| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:62:38:62:40 | "i" | semmle.label | successor |
| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:62:30:62:30 | 0 | semmle.label | successor |
| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:13:61:58 | ... = ... | semmle.label | successor |
| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:52:61:56 | "One" | semmle.label | successor |
| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:43:61:43 | access to parameter i | semmle.label | successor |
| Initializers.cs:61:29:61:29 | 0 | Initializers.cs:61:34:61:39 | "Zero" | semmle.label | successor |
| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:28:61:39 | ... = ... | semmle.label | successor |
| Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:26:61:58 | { ..., ... } | semmle.label | successor |
| Initializers.cs:61:43:61:43 | access to parameter i | Initializers.cs:61:47:61:47 | 1 | semmle.label | successor |
| Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:61:52:61:56 | "One" | semmle.label | successor |
| Initializers.cs:61:47:61:47 | 1 | Initializers.cs:61:43:61:47 | ... + ... | semmle.label | successor |
| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:42:61:56 | ... = ... | semmle.label | successor |
| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:63:37:63:41 | "One" | semmle.label | successor |
| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:63:32:63:32 | 1 | semmle.label | successor |
| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:13:62:60 | ... = ... | semmle.label | successor |
| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:56:62:58 | "1" | semmle.label | successor |
| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:44:62:44 | 1 | semmle.label | successor |
| Initializers.cs:62:30:62:30 | 0 | Initializers.cs:62:33:62:33 | 1 | semmle.label | successor |
| Initializers.cs:62:33:62:33 | 1 | Initializers.cs:62:38:62:40 | "i" | semmle.label | successor |
| Initializers.cs:62:38:62:40 | "i" | Initializers.cs:62:29:62:40 | ... = ... | semmle.label | successor |
| Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:62:27:62:60 | { ..., ... } | semmle.label | successor |
| Initializers.cs:62:44:62:44 | 1 | Initializers.cs:62:47:62:47 | access to parameter i | semmle.label | successor |
| Initializers.cs:62:47:62:47 | access to parameter i | Initializers.cs:62:51:62:51 | 0 | semmle.label | successor |
| Initializers.cs:62:47:62:51 | ... + ... | Initializers.cs:62:56:62:58 | "1" | semmle.label | successor |
| Initializers.cs:62:51:62:51 | 0 | Initializers.cs:62:47:62:51 | ... + ... | semmle.label | successor |
| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:43:62:58 | ... = ... | semmle.label | successor |
| Initializers.cs:63:13:63:25 | access to property ArrayProperty | Initializers.cs:63:13:63:60 | ... = ... | semmle.label | successor |
| Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:64:41:64:43 | "i" | semmle.label | successor |
| Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:64:33:64:33 | 0 | semmle.label | successor |
| Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:63:13:63:25 | access to property ArrayProperty | semmle.label | successor |
| Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:54:63:58 | "Two" | semmle.label | successor |
| Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:45:63:45 | access to parameter i | semmle.label | successor |
| Initializers.cs:63:32:63:32 | 1 | Initializers.cs:63:37:63:41 | "One" | semmle.label | successor |
| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:31:63:41 | ... = ... | semmle.label | successor |
| Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:29:63:60 | { ..., ... } | semmle.label | successor |
| Initializers.cs:63:45:63:45 | access to parameter i | Initializers.cs:63:49:63:49 | 2 | semmle.label | successor |
| Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:63:54:63:58 | "Two" | semmle.label | successor |
| Initializers.cs:63:49:63:49 | 2 | Initializers.cs:63:45:63:49 | ... + ... | semmle.label | successor |
| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:44:63:58 | ... = ... | semmle.label | successor |
| Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | Initializers.cs:64:13:64:63 | ... = ... | semmle.label | successor |
| Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:58:9:65:9 | { ..., ... } | semmle.label | successor |
| Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | semmle.label | successor |
| Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:59:64:61 | "1" | semmle.label | successor |
| Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:47:64:47 | 1 | semmle.label | successor |
| Initializers.cs:64:33:64:33 | 0 | Initializers.cs:64:36:64:36 | 1 | semmle.label | successor |
| Initializers.cs:64:36:64:36 | 1 | Initializers.cs:64:41:64:43 | "i" | semmle.label | successor |
| Initializers.cs:64:41:64:43 | "i" | Initializers.cs:64:32:64:43 | ... = ... | semmle.label | successor |
| Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:64:30:64:63 | { ..., ... } | semmle.label | successor |
| Initializers.cs:64:47:64:47 | 1 | Initializers.cs:64:50:64:50 | access to parameter i | semmle.label | successor |
| Initializers.cs:64:50:64:50 | access to parameter i | Initializers.cs:64:54:64:54 | 0 | semmle.label | successor |
| Initializers.cs:64:50:64:54 | ... + ... | Initializers.cs:64:59:64:61 | "1" | semmle.label | successor |
| Initializers.cs:64:54:64:54 | 0 | Initializers.cs:64:50:64:54 | ... + ... | semmle.label | successor |
| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:46:64:61 | ... = ... | semmle.label | successor |
| LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:8:5:13:5 | {...} | semmle.label | successor |
| LoopUnrolling.cs:8:5:13:5 | {...} | LoopUnrolling.cs:9:9:10:19 | if (...) ... | semmle.label | successor |