C#: Slightly refactor 'CollectionFlow' tests to add a taint-flow test.

This commit is contained in:
Mathias Vorreiter Pedersen
2025-12-12 11:00:33 +00:00
parent c5987b4481
commit b499661c05
7 changed files with 2257 additions and 13 deletions

View File

@@ -24,6 +24,13 @@ predicate defaultTaintSanitizer(DataFlow::Node node) {
)
}
/**
* Gets the (unbound) property `System.Collections.Generic.KeyValuePair.Value`.
*/
private Property keyValuePairValue() {
result.hasFullyQualifiedName("System.Collections.Generic", "KeyValuePair`2", "Value")
}
/**
* Holds if default `TaintTracking::Configuration`s should allow implicit reads
* of `c` at sinks and inputs to additional taint steps.
@@ -31,7 +38,11 @@ predicate defaultTaintSanitizer(DataFlow::Node node) {
bindingset[node]
predicate defaultImplicitTaintRead(DataFlow::Node node, DataFlow::ContentSet c) {
exists(node) and
c.isElement()
(
c.isElement()
or
c.isProperty(keyValuePairValue())
)
}
private class LocalTaintExprStepConfiguration extends ControlFlowReachabilityConfiguration {

View File

@@ -0,0 +1,840 @@
models
| 1 | Summary: System.Collections.Generic; Dictionary<TKey,TValue>; false; get_Keys; (); ; Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key]; ReturnValue.Element; value; manual |
| 2 | Summary: System.Collections.Generic; Dictionary<TKey,TValue>; false; get_Values; (); ; Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value]; ReturnValue.Element; value; manual |
| 3 | Summary: System.Collections.Generic; ICollection<T>; true; Add; (T); ; Argument[0]; Argument[this].Element; value; manual |
| 4 | Summary: System.Collections.Generic; IDictionary<TKey,TValue>; true; Add; (TKey,TValue); ; Argument[0]; Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key]; value; manual |
| 5 | Summary: System.Collections.Generic; IDictionary<TKey,TValue>; true; Add; (TKey,TValue); ; Argument[1]; Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value]; value; manual |
| 6 | Summary: System.Collections.Generic; IDictionary<TKey,TValue>; true; get_Item; (TKey); ; Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value]; ReturnValue; value; manual |
| 7 | Summary: System.Collections.Generic; IDictionary<TKey,TValue>; true; get_Keys; (); ; Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key]; ReturnValue.Element; value; manual |
| 8 | Summary: System.Collections.Generic; IDictionary<TKey,TValue>; true; get_Values; (); ; Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value]; ReturnValue.Element; value; manual |
| 9 | Summary: System.Collections.Generic; IDictionary<TKey,TValue>; true; set_Item; (TKey,TValue); ; Argument[0]; Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key]; value; manual |
| 10 | Summary: System.Collections.Generic; IDictionary<TKey,TValue>; true; set_Item; (TKey,TValue); ; Argument[1]; Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value]; value; manual |
| 11 | Summary: System.Collections.Generic; IList<T>; true; get_Item; (System.Int32); ; Argument[this].Element; ReturnValue; value; manual |
| 12 | Summary: System.Collections.Generic; IList<T>; true; set_Item; (System.Int32,T); ; Argument[1]; Argument[this].Element; value; manual |
| 13 | Summary: System.Collections.Generic; KeyValuePair<TKey,TValue>; false; KeyValuePair; (TKey,TValue); ; Argument[0]; Argument[this].Property[System.Collections.Generic.KeyValuePair`2.Key]; value; manual |
| 14 | Summary: System.Collections.Generic; List<T>+Enumerator; false; get_Current; (); ; Argument[this].Property[System.Collections.Generic.List`1+Enumerator.Current]; ReturnValue; value; dfc-generated |
| 15 | Summary: System.Collections.Generic; List<T>; false; GetEnumerator; (); ; Argument[this].Element; ReturnValue.Property[System.Collections.Generic.List`1+Enumerator.Current]; value; manual |
| 16 | Summary: System.Collections; IEnumerable; true; GetEnumerator; (); ; Argument[this].Element; ReturnValue.Property[System.Collections.IEnumerator.Current]; value; manual |
| 17 | Summary: System.Linq; Enumerable; false; First<TSource>; (System.Collections.Generic.IEnumerable<TSource>); ; Argument[0].Element; ReturnValue; value; manual |
| 18 | Summary: System.Linq; Enumerable; false; Select<TSource,TResult>; (System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TResult>); ; Argument[0].Element; Argument[1].Parameter[0]; value; manual |
| 19 | Summary: System; ReadOnlySpan<T>; false; ReadOnlySpan; (T[]); ; Argument[0].Element; Argument[this].Element; value; manual |
| 20 | Summary: System; ReadOnlySpan<T>; false; get_Item; (System.Int32); ; Argument[this].Element; ReturnValue; value; manual |
| 21 | Summary: System; Span<T>; false; CopyTo; (System.Span<T>); ; Argument[this].Element; Argument[0].Element; value; manual |
| 22 | Summary: System; Span<T>; false; Fill; (T); ; Argument[0]; Argument[this].Element; value; manual |
| 23 | Summary: System; Span<T>; false; Span; (T); ; Argument[0]; Argument[this].Element; value; manual |
| 24 | Summary: System; Span<T>; false; Span; (T[]); ; Argument[0].Element; Argument[this].Element; value; manual |
| 25 | Summary: System; Span<T>; false; ToArray; (); ; Argument[this].Element; ReturnValue.Element; value; manual |
| 26 | Summary: System; Span<T>; false; get_Item; (System.Int32); ; Argument[this].Element; ReturnValue; value; manual |
edges
| CollectionFlow.cs:14:40:14:41 | ts : A[] [element] : A | CollectionFlow.cs:14:52:14:53 | access to parameter ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:14:40:14:41 | ts : null [element] : A | CollectionFlow.cs:14:52:14:53 | access to parameter ts : null [element] : A | provenance | |
| CollectionFlow.cs:14:52:14:53 | access to parameter ts : A[] [element] : A | CollectionFlow.cs:14:52:14:56 | access to array element | provenance | |
| CollectionFlow.cs:14:52:14:53 | access to parameter ts : null [element] : A | CollectionFlow.cs:14:52:14:56 | access to array element | provenance | |
| CollectionFlow.cs:16:44:16:45 | ts : A[] [element] : A | CollectionFlow.cs:16:56:16:57 | access to parameter ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:16:56:16:57 | access to parameter ts : A[] [element] : A | CollectionFlow.cs:16:56:16:61 | access to array element | provenance | |
| CollectionFlow.cs:18:49:18:52 | list : List<T> [element] : A | CollectionFlow.cs:18:63:18:66 | access to parameter list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:18:63:18:66 | access to parameter list : List<T> [element] : A | CollectionFlow.cs:18:63:18:69 | access to indexer | provenance | MaD:11 |
| CollectionFlow.cs:20:61:20:64 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:20:75:20:78 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:20:75:20:78 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:20:75:20:81 | access to indexer | provenance | MaD:6 |
| CollectionFlow.cs:22:59:22:62 | dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:22:73:22:76 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:22:73:22:76 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:22:73:22:81 | access to property Keys : ICollection<T> [element] : A | provenance | MaD:1 |
| CollectionFlow.cs:22:73:22:76 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:22:73:22:81 | access to property Keys : ICollection<T> [element] : A | provenance | MaD:7 |
| CollectionFlow.cs:22:73:22:81 | access to property Keys : ICollection<T> [element] : A | CollectionFlow.cs:22:73:22:89 | call to method First<T> | provenance | MaD:17 |
| CollectionFlow.cs:24:34:24:35 | ts : A[] [element] : A | CollectionFlow.cs:24:41:24:42 | access to parameter ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:24:34:24:35 | ts : null [element] : A | CollectionFlow.cs:24:41:24:42 | access to parameter ts : null [element] : A | provenance | |
| CollectionFlow.cs:24:41:24:42 | access to parameter ts : A[] [element] : A | CollectionFlow.cs:24:41:24:45 | access to array element : A | provenance | |
| CollectionFlow.cs:24:41:24:42 | access to parameter ts : null [element] : A | CollectionFlow.cs:24:41:24:45 | access to array element : A | provenance | |
| CollectionFlow.cs:26:33:26:34 | ts : A[] [element] : A | CollectionFlow.cs:26:40:26:41 | access to parameter ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:26:40:26:41 | access to parameter ts : A[] [element] : A | CollectionFlow.cs:26:40:26:45 | access to array element : A | provenance | |
| CollectionFlow.cs:28:43:28:46 | list : List<T> [element] : A | CollectionFlow.cs:28:52:28:55 | access to parameter list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:28:52:28:55 | access to parameter list : List<T> [element] : A | CollectionFlow.cs:28:52:28:58 | access to indexer : A | provenance | MaD:11 |
| CollectionFlow.cs:30:58:30:61 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:67:30:70 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:30:67:30:70 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:67:30:73 | access to indexer : A | provenance | MaD:6 |
| CollectionFlow.cs:32:59:32:62 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:32:68:32:71 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:32:68:32:71 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:32:68:32:79 | call to method First<KeyValuePair<Int32,T>> : KeyValuePair<Int32,T> [property Value] : A | provenance | MaD:17 |
| CollectionFlow.cs:32:68:32:79 | call to method First<KeyValuePair<Int32,T>> : KeyValuePair<Int32,T> [property Value] : A | CollectionFlow.cs:32:68:32:85 | access to property Value : A | provenance | |
| CollectionFlow.cs:34:60:34:63 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:34:69:34:72 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:34:69:34:72 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:34:69:34:79 | access to property Values : ICollection<T> [element] : A | provenance | MaD:2 |
| CollectionFlow.cs:34:69:34:72 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:34:69:34:79 | access to property Values : ICollection<T> [element] : A | provenance | MaD:8 |
| CollectionFlow.cs:34:69:34:79 | access to property Values : ICollection<T> [element] : A | CollectionFlow.cs:34:69:34:87 | call to method First<T> : A | provenance | MaD:17 |
| CollectionFlow.cs:36:58:36:61 | dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:36:67:36:70 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:36:67:36:70 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:36:67:36:75 | access to property Keys : ICollection<T> [element] : A | provenance | MaD:1 |
| CollectionFlow.cs:36:67:36:70 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:36:67:36:75 | access to property Keys : ICollection<T> [element] : A | provenance | MaD:7 |
| CollectionFlow.cs:36:67:36:75 | access to property Keys : ICollection<T> [element] : A | CollectionFlow.cs:36:67:36:83 | call to method First<T> : A | provenance | MaD:17 |
| CollectionFlow.cs:38:57:38:60 | dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:38:66:38:69 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:38:66:38:69 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:38:66:38:77 | call to method First<KeyValuePair<T,Int32>> : KeyValuePair<T,Int32> [property Key] : A | provenance | MaD:17 |
| CollectionFlow.cs:38:66:38:77 | call to method First<KeyValuePair<T,Int32>> : KeyValuePair<T,Int32> [property Key] : A | CollectionFlow.cs:38:66:38:81 | access to property Key : A | provenance | |
| CollectionFlow.cs:40:49:40:52 | args : A[] [element] : A | CollectionFlow.cs:40:63:40:66 | access to parameter args : A[] [element] : A | provenance | |
| CollectionFlow.cs:40:49:40:52 | args : null [element] : A | CollectionFlow.cs:40:63:40:66 | access to parameter args : null [element] : A | provenance | |
| CollectionFlow.cs:40:63:40:66 | access to parameter args : A[] [element] : A | CollectionFlow.cs:40:63:40:69 | access to array element | provenance | |
| CollectionFlow.cs:40:63:40:66 | access to parameter args : null [element] : A | CollectionFlow.cs:40:63:40:69 | access to array element | provenance | |
| CollectionFlow.cs:42:70:42:73 | args : IEnumerable<A> [element] : A | CollectionFlow.cs:42:84:42:87 | access to parameter args : IEnumerable<A> [element] : A | provenance | |
| CollectionFlow.cs:42:84:42:87 | access to parameter args : IEnumerable<A> [element] : A | CollectionFlow.cs:42:84:42:95 | call to method First<T> | provenance | MaD:17 |
| CollectionFlow.cs:46:13:46:13 | access to local variable a : A | CollectionFlow.cs:47:27:47:27 | access to local variable a : A | provenance | |
| CollectionFlow.cs:46:17:46:23 | object creation of type A : A | CollectionFlow.cs:46:13:46:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:47:13:47:15 | access to local variable as : null [element] : A | CollectionFlow.cs:48:14:48:16 | access to local variable as : null [element] : A | provenance | |
| CollectionFlow.cs:47:13:47:15 | access to local variable as : null [element] : A | CollectionFlow.cs:49:18:49:20 | access to local variable as : null [element] : A | provenance | |
| CollectionFlow.cs:47:13:47:15 | access to local variable as : null [element] : A | CollectionFlow.cs:50:20:50:22 | access to local variable as : null [element] : A | provenance | |
| CollectionFlow.cs:47:25:47:29 | { ..., ... } : null [element] : A | CollectionFlow.cs:47:13:47:15 | access to local variable as : null [element] : A | provenance | |
| CollectionFlow.cs:47:27:47:27 | access to local variable a : A | CollectionFlow.cs:47:25:47:29 | { ..., ... } : null [element] : A | provenance | |
| CollectionFlow.cs:48:14:48:16 | access to local variable as : null [element] : A | CollectionFlow.cs:48:14:48:19 | access to array element | provenance | |
| CollectionFlow.cs:49:18:49:20 | access to local variable as : null [element] : A | CollectionFlow.cs:14:40:14:41 | ts : null [element] : A | provenance | |
| CollectionFlow.cs:50:20:50:22 | access to local variable as : null [element] : A | CollectionFlow.cs:24:34:24:35 | ts : null [element] : A | provenance | |
| CollectionFlow.cs:50:20:50:22 | access to local variable as : null [element] : A | CollectionFlow.cs:50:14:50:23 | call to method First<A> | provenance | |
| CollectionFlow.cs:64:13:64:13 | access to local variable a : A | CollectionFlow.cs:65:53:65:53 | access to local variable a : A | provenance | |
| CollectionFlow.cs:64:17:64:23 | object creation of type A : A | CollectionFlow.cs:64:13:64:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:65:13:65:13 | access to local variable c : CollectionFlow [field As, element] : A | CollectionFlow.cs:66:14:66:14 | access to local variable c : CollectionFlow [field As, element] : A | provenance | |
| CollectionFlow.cs:65:13:65:13 | access to local variable c : CollectionFlow [field As, element] : A | CollectionFlow.cs:67:18:67:18 | access to local variable c : CollectionFlow [field As, element] : A | provenance | |
| CollectionFlow.cs:65:13:65:13 | access to local variable c : CollectionFlow [field As, element] : A | CollectionFlow.cs:68:20:68:20 | access to local variable c : CollectionFlow [field As, element] : A | provenance | |
| CollectionFlow.cs:65:38:65:57 | { ..., ... } : CollectionFlow [field As, element] : A | CollectionFlow.cs:65:13:65:13 | access to local variable c : CollectionFlow [field As, element] : A | provenance | |
| CollectionFlow.cs:65:45:65:55 | { ..., ... } : A[] [element] : A | CollectionFlow.cs:65:38:65:57 | { ..., ... } : CollectionFlow [field As, element] : A | provenance | |
| CollectionFlow.cs:65:53:65:53 | access to local variable a : A | CollectionFlow.cs:65:45:65:55 | { ..., ... } : A[] [element] : A | provenance | |
| CollectionFlow.cs:66:14:66:14 | access to local variable c : CollectionFlow [field As, element] : A | CollectionFlow.cs:66:14:66:17 | access to field As : A[] [element] : A | provenance | |
| CollectionFlow.cs:66:14:66:17 | access to field As : A[] [element] : A | CollectionFlow.cs:66:14:66:20 | access to array element | provenance | |
| CollectionFlow.cs:67:18:67:18 | access to local variable c : CollectionFlow [field As, element] : A | CollectionFlow.cs:67:18:67:21 | access to field As : A[] [element] : A | provenance | |
| CollectionFlow.cs:67:18:67:21 | access to field As : A[] [element] : A | CollectionFlow.cs:14:40:14:41 | ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:68:20:68:20 | access to local variable c : CollectionFlow [field As, element] : A | CollectionFlow.cs:68:20:68:23 | access to field As : A[] [element] : A | provenance | |
| CollectionFlow.cs:68:20:68:23 | access to field As : A[] [element] : A | CollectionFlow.cs:24:34:24:35 | ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:68:20:68:23 | access to field As : A[] [element] : A | CollectionFlow.cs:68:14:68:24 | call to method First<A> | provenance | |
| CollectionFlow.cs:82:13:82:13 | access to local variable a : A | CollectionFlow.cs:83:54:83:54 | access to local variable a : A | provenance | |
| CollectionFlow.cs:82:17:82:23 | object creation of type A : A | CollectionFlow.cs:82:13:82:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:83:13:83:13 | access to local variable c : CollectionFlow [field As, element] : A | CollectionFlow.cs:84:14:84:14 | access to local variable c : CollectionFlow [field As, element] : A | provenance | |
| CollectionFlow.cs:83:13:83:13 | access to local variable c : CollectionFlow [field As, element] : A | CollectionFlow.cs:85:22:85:22 | access to local variable c : CollectionFlow [field As, element] : A | provenance | |
| CollectionFlow.cs:83:13:83:13 | access to local variable c : CollectionFlow [field As, element] : A | CollectionFlow.cs:86:19:86:19 | access to local variable c : CollectionFlow [field As, element] : A | provenance | |
| CollectionFlow.cs:83:38:83:58 | { ..., ... } : CollectionFlow [field As, element] : A | CollectionFlow.cs:83:13:83:13 | access to local variable c : CollectionFlow [field As, element] : A | provenance | |
| CollectionFlow.cs:83:45:83:56 | { ..., ... } : A[] [element] : A | CollectionFlow.cs:83:38:83:58 | { ..., ... } : CollectionFlow [field As, element] : A | provenance | |
| CollectionFlow.cs:83:54:83:54 | access to local variable a : A | CollectionFlow.cs:83:45:83:56 | { ..., ... } : A[] [element] : A | provenance | |
| CollectionFlow.cs:84:14:84:14 | access to local variable c : CollectionFlow [field As, element] : A | CollectionFlow.cs:84:14:84:17 | access to field As : A[] [element] : A | provenance | |
| CollectionFlow.cs:84:14:84:17 | access to field As : A[] [element] : A | CollectionFlow.cs:84:14:84:21 | access to array element | provenance | |
| CollectionFlow.cs:85:22:85:22 | access to local variable c : CollectionFlow [field As, element] : A | CollectionFlow.cs:85:22:85:25 | access to field As : A[] [element] : A | provenance | |
| CollectionFlow.cs:85:22:85:25 | access to field As : A[] [element] : A | CollectionFlow.cs:16:44:16:45 | ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:86:19:86:19 | access to local variable c : CollectionFlow [field As, element] : A | CollectionFlow.cs:86:19:86:22 | access to field As : A[] [element] : A | provenance | |
| CollectionFlow.cs:86:19:86:22 | access to field As : A[] [element] : A | CollectionFlow.cs:26:33:26:34 | ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:86:19:86:22 | access to field As : A[] [element] : A | CollectionFlow.cs:86:14:86:23 | call to method Last<A> | provenance | |
| CollectionFlow.cs:91:13:91:13 | access to local variable a : A | CollectionFlow.cs:93:18:93:18 | access to local variable a : A | provenance | |
| CollectionFlow.cs:91:17:91:23 | object creation of type A : A | CollectionFlow.cs:91:13:91:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:93:9:93:11 | [post] access to local variable as : A[] [element] : A | CollectionFlow.cs:94:14:94:16 | access to local variable as : A[] [element] : A | provenance | |
| CollectionFlow.cs:93:9:93:11 | [post] access to local variable as : A[] [element] : A | CollectionFlow.cs:95:18:95:20 | access to local variable as : A[] [element] : A | provenance | |
| CollectionFlow.cs:93:9:93:11 | [post] access to local variable as : A[] [element] : A | CollectionFlow.cs:96:20:96:22 | access to local variable as : A[] [element] : A | provenance | |
| CollectionFlow.cs:93:18:93:18 | access to local variable a : A | CollectionFlow.cs:93:9:93:11 | [post] access to local variable as : A[] [element] : A | provenance | |
| CollectionFlow.cs:94:14:94:16 | access to local variable as : A[] [element] : A | CollectionFlow.cs:94:14:94:19 | access to array element | provenance | |
| CollectionFlow.cs:95:18:95:20 | access to local variable as : A[] [element] : A | CollectionFlow.cs:14:40:14:41 | ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:96:20:96:22 | access to local variable as : A[] [element] : A | CollectionFlow.cs:24:34:24:35 | ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:96:20:96:22 | access to local variable as : A[] [element] : A | CollectionFlow.cs:96:14:96:23 | call to method First<A> | provenance | |
| CollectionFlow.cs:111:13:111:13 | access to local variable a : A | CollectionFlow.cs:113:19:113:19 | access to local variable a : A | provenance | |
| CollectionFlow.cs:111:17:111:23 | object creation of type A : A | CollectionFlow.cs:111:13:111:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:113:9:113:11 | [post] access to local variable as : A[] [element] : A | CollectionFlow.cs:114:14:114:16 | access to local variable as : A[] [element] : A | provenance | |
| CollectionFlow.cs:113:9:113:11 | [post] access to local variable as : A[] [element] : A | CollectionFlow.cs:115:22:115:24 | access to local variable as : A[] [element] : A | provenance | |
| CollectionFlow.cs:113:9:113:11 | [post] access to local variable as : A[] [element] : A | CollectionFlow.cs:116:19:116:21 | access to local variable as : A[] [element] : A | provenance | |
| CollectionFlow.cs:113:19:113:19 | access to local variable a : A | CollectionFlow.cs:113:9:113:11 | [post] access to local variable as : A[] [element] : A | provenance | |
| CollectionFlow.cs:114:14:114:16 | access to local variable as : A[] [element] : A | CollectionFlow.cs:114:14:114:20 | access to array element | provenance | |
| CollectionFlow.cs:115:22:115:24 | access to local variable as : A[] [element] : A | CollectionFlow.cs:16:44:16:45 | ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:116:19:116:21 | access to local variable as : A[] [element] : A | CollectionFlow.cs:26:33:26:34 | ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:116:19:116:21 | access to local variable as : A[] [element] : A | CollectionFlow.cs:116:14:116:22 | call to method Last<A> | provenance | |
| CollectionFlow.cs:121:13:121:13 | access to local variable a : A | CollectionFlow.cs:123:19:123:19 | access to local variable a : A | provenance | |
| CollectionFlow.cs:121:17:121:23 | object creation of type A : A | CollectionFlow.cs:121:13:121:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:123:9:123:12 | [post] access to local variable list : List<T> [element] : A | CollectionFlow.cs:124:14:124:17 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:123:9:123:12 | [post] access to local variable list : List<T> [element] : A | CollectionFlow.cs:125:22:125:25 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:123:9:123:12 | [post] access to local variable list : List<T> [element] : A | CollectionFlow.cs:126:24:126:27 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:123:19:123:19 | access to local variable a : A | CollectionFlow.cs:123:9:123:12 | [post] access to local variable list : List<T> [element] : A | provenance | MaD:12 |
| CollectionFlow.cs:124:14:124:17 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:124:14:124:20 | access to indexer | provenance | MaD:11 |
| CollectionFlow.cs:125:22:125:25 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:18:49:18:52 | list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:126:24:126:27 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:28:43:28:46 | list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:126:24:126:27 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:126:14:126:28 | call to method ListFirst<A> | provenance | MaD:11 |
| CollectionFlow.cs:140:13:140:13 | access to local variable a : A | CollectionFlow.cs:141:36:141:36 | access to local variable a : A | provenance | |
| CollectionFlow.cs:140:17:140:23 | object creation of type A : A | CollectionFlow.cs:140:13:140:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:141:13:141:16 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:142:14:142:17 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:141:13:141:16 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:143:22:143:25 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:141:13:141:16 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:144:24:144:27 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:141:20:141:38 | object creation of type List<A> : List<T> [element] : A | CollectionFlow.cs:141:13:141:16 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:141:36:141:36 | access to local variable a : A | CollectionFlow.cs:141:20:141:38 | object creation of type List<A> : List<T> [element] : A | provenance | MaD:3 |
| CollectionFlow.cs:142:14:142:17 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:142:14:142:20 | access to indexer | provenance | MaD:11 |
| CollectionFlow.cs:143:22:143:25 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:18:49:18:52 | list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:144:24:144:27 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:28:43:28:46 | list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:144:24:144:27 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:144:14:144:28 | call to method ListFirst<A> | provenance | MaD:11 |
| CollectionFlow.cs:157:13:157:13 | access to local variable a : A | CollectionFlow.cs:159:18:159:18 | access to local variable a : A | provenance | |
| CollectionFlow.cs:157:17:157:23 | object creation of type A : A | CollectionFlow.cs:157:13:157:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:159:9:159:12 | [post] access to local variable list : List<T> [element] : A | CollectionFlow.cs:160:14:160:17 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:159:9:159:12 | [post] access to local variable list : List<T> [element] : A | CollectionFlow.cs:161:22:161:25 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:159:9:159:12 | [post] access to local variable list : List<T> [element] : A | CollectionFlow.cs:162:24:162:27 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:159:18:159:18 | access to local variable a : A | CollectionFlow.cs:159:9:159:12 | [post] access to local variable list : List<T> [element] : A | provenance | MaD:3 |
| CollectionFlow.cs:160:14:160:17 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:160:14:160:20 | access to indexer | provenance | MaD:11 |
| CollectionFlow.cs:161:22:161:25 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:18:49:18:52 | list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:162:24:162:27 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:28:43:28:46 | list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:162:24:162:27 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:162:14:162:28 | call to method ListFirst<A> | provenance | MaD:11 |
| CollectionFlow.cs:176:13:176:13 | access to local variable a : A | CollectionFlow.cs:178:19:178:19 | access to local variable a : A | provenance | |
| CollectionFlow.cs:176:17:176:23 | object creation of type A : A | CollectionFlow.cs:176:13:176:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:178:9:178:12 | [post] access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:179:14:179:17 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:178:9:178:12 | [post] access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:180:23:180:26 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:178:9:178:12 | [post] access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:181:28:181:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:178:9:178:12 | [post] access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:182:29:182:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:178:9:178:12 | [post] access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:183:30:183:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:178:19:178:19 | access to local variable a : A | CollectionFlow.cs:178:9:178:12 | [post] access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | MaD:10 |
| CollectionFlow.cs:179:14:179:17 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:179:14:179:20 | access to indexer | provenance | MaD:6 |
| CollectionFlow.cs:180:23:180:26 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:20:61:20:64 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:181:28:181:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:58:30:61 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:181:28:181:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:181:14:181:32 | call to method DictIndexZero<A> | provenance | MaD:6 |
| CollectionFlow.cs:182:29:182:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:32:59:32:62 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:182:29:182:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:182:14:182:33 | call to method DictFirstValue<A> | provenance | MaD:17 |
| CollectionFlow.cs:183:30:183:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:34:60:34:63 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:183:30:183:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:183:14:183:34 | call to method DictValuesFirst<A> | provenance | MaD:2 |
| CollectionFlow.cs:183:30:183:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:183:14:183:34 | call to method DictValuesFirst<A> | provenance | MaD:8 |
| CollectionFlow.cs:199:13:199:13 | access to local variable a : A | CollectionFlow.cs:200:52:200:52 | access to local variable a : A | provenance | |
| CollectionFlow.cs:199:17:199:23 | object creation of type A : A | CollectionFlow.cs:199:13:199:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:200:13:200:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:201:14:201:17 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:200:13:200:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:202:23:202:26 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:200:13:200:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:203:28:203:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:200:13:200:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:204:29:204:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:200:13:200:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:205:30:205:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:200:20:200:56 | object creation of type Dictionary<Int32,A> : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:200:13:200:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:200:52:200:52 | access to local variable a : A | CollectionFlow.cs:200:20:200:56 | object creation of type Dictionary<Int32,A> : Dictionary<T,T> [element, property Value] : A | provenance | MaD:5 |
| CollectionFlow.cs:201:14:201:17 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:201:14:201:20 | access to indexer | provenance | MaD:6 |
| CollectionFlow.cs:202:23:202:26 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:20:61:20:64 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:203:28:203:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:58:30:61 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:203:28:203:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:203:14:203:32 | call to method DictIndexZero<A> | provenance | MaD:6 |
| CollectionFlow.cs:204:29:204:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:32:59:32:62 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:204:29:204:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:204:14:204:33 | call to method DictFirstValue<A> | provenance | MaD:17 |
| CollectionFlow.cs:205:30:205:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:34:60:34:63 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:205:30:205:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:205:14:205:34 | call to method DictValuesFirst<A> | provenance | MaD:2 |
| CollectionFlow.cs:205:30:205:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:205:14:205:34 | call to method DictValuesFirst<A> | provenance | MaD:8 |
| CollectionFlow.cs:220:13:220:13 | access to local variable a : A | CollectionFlow.cs:221:53:221:53 | access to local variable a : A | provenance | |
| CollectionFlow.cs:220:17:220:23 | object creation of type A : A | CollectionFlow.cs:220:13:220:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:221:13:221:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:222:14:222:17 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:221:13:221:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:223:23:223:26 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:221:13:221:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:224:28:224:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:221:13:221:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:225:29:225:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:221:13:221:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:226:30:226:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:221:20:221:55 | object creation of type Dictionary<Int32,A> : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:221:13:221:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:221:53:221:53 | access to local variable a : A | CollectionFlow.cs:221:20:221:55 | object creation of type Dictionary<Int32,A> : Dictionary<T,T> [element, property Value] : A | provenance | MaD:10 |
| CollectionFlow.cs:222:14:222:17 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:222:14:222:20 | access to indexer | provenance | MaD:6 |
| CollectionFlow.cs:223:23:223:26 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:20:61:20:64 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:224:28:224:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:58:30:61 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:224:28:224:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:224:14:224:32 | call to method DictIndexZero<A> | provenance | MaD:6 |
| CollectionFlow.cs:225:29:225:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:32:59:32:62 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:225:29:225:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:225:14:225:33 | call to method DictFirstValue<A> | provenance | MaD:17 |
| CollectionFlow.cs:226:30:226:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:34:60:34:63 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
| CollectionFlow.cs:226:30:226:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:226:14:226:34 | call to method DictValuesFirst<A> | provenance | MaD:2 |
| CollectionFlow.cs:226:30:226:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:226:14:226:34 | call to method DictValuesFirst<A> | provenance | MaD:8 |
| CollectionFlow.cs:242:13:242:13 | access to local variable a : A | CollectionFlow.cs:243:49:243:49 | access to local variable a : A | provenance | |
| CollectionFlow.cs:242:17:242:23 | object creation of type A : A | CollectionFlow.cs:242:13:242:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:243:13:243:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:244:14:244:17 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:243:13:243:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:245:21:245:24 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:243:13:243:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:246:28:246:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:243:13:243:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:247:27:247:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:243:20:243:56 | object creation of type Dictionary<A,Int32> : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:243:13:243:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:243:49:243:49 | access to local variable a : A | CollectionFlow.cs:243:20:243:56 | object creation of type Dictionary<A,Int32> : Dictionary<T,T> [element, property Key] : A | provenance | MaD:4 |
| CollectionFlow.cs:244:14:244:17 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:244:14:244:22 | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A | provenance | MaD:1 |
| CollectionFlow.cs:244:14:244:22 | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A | CollectionFlow.cs:244:14:244:30 | call to method First<A> | provenance | MaD:17 |
| CollectionFlow.cs:245:21:245:24 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:22:59:22:62 | dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:246:28:246:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:36:58:36:61 | dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:246:28:246:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:246:14:246:32 | call to method DictKeysFirst<A> | provenance | MaD:1 |
| CollectionFlow.cs:246:28:246:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:246:14:246:32 | call to method DictKeysFirst<A> | provenance | MaD:7 |
| CollectionFlow.cs:247:27:247:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:38:57:38:60 | dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:247:27:247:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:247:14:247:31 | call to method DictFirstKey<A> | provenance | MaD:17 |
| CollectionFlow.cs:261:13:261:13 | access to local variable a : A | CollectionFlow.cs:262:48:262:48 | access to local variable a : A | provenance | |
| CollectionFlow.cs:261:17:261:23 | object creation of type A : A | CollectionFlow.cs:261:13:261:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:262:13:262:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:263:14:263:17 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:262:13:262:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:264:21:264:24 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:262:13:262:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:265:28:265:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:262:13:262:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:266:27:266:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:262:20:262:55 | object creation of type Dictionary<A,Int32> : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:262:13:262:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:262:48:262:48 | access to local variable a : A | CollectionFlow.cs:262:20:262:55 | object creation of type Dictionary<A,Int32> : Dictionary<T,T> [element, property Key] : A | provenance | MaD:9 |
| CollectionFlow.cs:263:14:263:17 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:263:14:263:22 | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A | provenance | MaD:1 |
| CollectionFlow.cs:263:14:263:22 | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A | CollectionFlow.cs:263:14:263:30 | call to method First<A> | provenance | MaD:17 |
| CollectionFlow.cs:264:21:264:24 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:22:59:22:62 | dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:265:28:265:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:36:58:36:61 | dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:265:28:265:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:265:14:265:32 | call to method DictKeysFirst<A> | provenance | MaD:1 |
| CollectionFlow.cs:265:28:265:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:265:14:265:32 | call to method DictKeysFirst<A> | provenance | MaD:7 |
| CollectionFlow.cs:266:27:266:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:38:57:38:60 | dict : Dictionary<T,T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:266:27:266:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:266:14:266:31 | call to method DictFirstKey<A> | provenance | MaD:17 |
| CollectionFlow.cs:280:13:280:13 | access to local variable a : A | CollectionFlow.cs:281:27:281:27 | access to local variable a : A | provenance | |
| CollectionFlow.cs:280:17:280:23 | object creation of type A : A | CollectionFlow.cs:280:13:280:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:281:13:281:15 | access to local variable as : null [element] : A | CollectionFlow.cs:282:27:282:29 | access to local variable as : null [element] : A | provenance | |
| CollectionFlow.cs:281:25:281:29 | { ..., ... } : null [element] : A | CollectionFlow.cs:281:13:281:15 | access to local variable as : null [element] : A | provenance | |
| CollectionFlow.cs:281:27:281:27 | access to local variable a : A | CollectionFlow.cs:281:25:281:29 | { ..., ... } : null [element] : A | provenance | |
| CollectionFlow.cs:282:27:282:29 | access to local variable as : null [element] : A | CollectionFlow.cs:283:18:283:18 | access to local variable x | provenance | |
| CollectionFlow.cs:295:13:295:13 | access to local variable a : A | CollectionFlow.cs:296:27:296:27 | access to local variable a : A | provenance | |
| CollectionFlow.cs:295:17:295:23 | object creation of type A : A | CollectionFlow.cs:295:13:295:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:296:13:296:15 | access to local variable as : null [element] : A | CollectionFlow.cs:297:26:297:28 | access to local variable as : null [element] : A | provenance | |
| CollectionFlow.cs:296:25:296:29 | { ..., ... } : null [element] : A | CollectionFlow.cs:296:13:296:15 | access to local variable as : null [element] : A | provenance | |
| CollectionFlow.cs:296:27:296:27 | access to local variable a : A | CollectionFlow.cs:296:25:296:29 | { ..., ... } : null [element] : A | provenance | |
| CollectionFlow.cs:297:13:297:22 | access to local variable enumerator : IEnumerator [property Current] : A | CollectionFlow.cs:299:18:299:27 | access to local variable enumerator : IEnumerator [property Current] : A | provenance | |
| CollectionFlow.cs:297:26:297:28 | access to local variable as : null [element] : A | CollectionFlow.cs:297:26:297:44 | call to method GetEnumerator : IEnumerator [property Current] : A | provenance | MaD:16 |
| CollectionFlow.cs:297:26:297:44 | call to method GetEnumerator : IEnumerator [property Current] : A | CollectionFlow.cs:297:13:297:22 | access to local variable enumerator : IEnumerator [property Current] : A | provenance | |
| CollectionFlow.cs:299:18:299:27 | access to local variable enumerator : IEnumerator [property Current] : A | CollectionFlow.cs:299:18:299:35 | access to property Current | provenance | |
| CollectionFlow.cs:312:13:312:13 | access to local variable a : A | CollectionFlow.cs:314:18:314:18 | access to local variable a : A | provenance | |
| CollectionFlow.cs:312:17:312:23 | object creation of type A : A | CollectionFlow.cs:312:13:312:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:314:9:314:12 | [post] access to local variable list : List<T> [element] : A | CollectionFlow.cs:315:26:315:29 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:314:18:314:18 | access to local variable a : A | CollectionFlow.cs:314:9:314:12 | [post] access to local variable list : List<T> [element] : A | provenance | MaD:3 |
| CollectionFlow.cs:315:13:315:22 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:317:18:317:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | provenance | |
| CollectionFlow.cs:315:13:315:22 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:317:18:317:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | provenance | |
| CollectionFlow.cs:315:26:315:29 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:315:26:315:45 | call to method GetEnumerator : List<T>.Enumerator [property Current] : A | provenance | MaD:15 |
| CollectionFlow.cs:315:26:315:29 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:315:26:315:45 | call to method GetEnumerator : List<T>.Enumerator [property Current] : A | provenance | MaD:15 |
| CollectionFlow.cs:315:26:315:45 | call to method GetEnumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:315:13:315:22 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | provenance | |
| CollectionFlow.cs:315:26:315:45 | call to method GetEnumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:315:13:315:22 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | provenance | |
| CollectionFlow.cs:317:18:317:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:317:18:317:35 | access to property Current | provenance | |
| CollectionFlow.cs:317:18:317:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:317:18:317:35 | access to property Current | provenance | MaD:14 |
| CollectionFlow.cs:317:18:317:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:317:18:317:35 | access to property Current | provenance | MaD:14 |
| CollectionFlow.cs:331:13:331:13 | access to local variable a : A | CollectionFlow.cs:333:43:333:43 | access to local variable a : A | provenance | |
| CollectionFlow.cs:331:17:331:23 | object creation of type A : A | CollectionFlow.cs:331:13:331:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:333:9:333:12 | [post] access to local variable list : List<T> [element, property Key] : A | CollectionFlow.cs:334:9:334:12 | access to local variable list : List<T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:333:18:333:47 | object creation of type KeyValuePair<A,Int32> : KeyValuePair<T,T> [property Key] : A | CollectionFlow.cs:333:9:333:12 | [post] access to local variable list : List<T> [element, property Key] : A | provenance | MaD:3 |
| CollectionFlow.cs:333:43:333:43 | access to local variable a : A | CollectionFlow.cs:333:18:333:47 | object creation of type KeyValuePair<A,Int32> : KeyValuePair<T,T> [property Key] : A | provenance | MaD:13 |
| CollectionFlow.cs:334:9:334:12 | access to local variable list : List<T> [element, property Key] : A | CollectionFlow.cs:334:21:334:23 | kvp : KeyValuePair<A,Int32> [property Key] : A | provenance | MaD:18 |
| CollectionFlow.cs:334:21:334:23 | kvp : KeyValuePair<A,Int32> [property Key] : A | CollectionFlow.cs:336:18:336:20 | access to parameter kvp : KeyValuePair<A,Int32> [property Key] : A | provenance | |
| CollectionFlow.cs:336:18:336:20 | access to parameter kvp : KeyValuePair<A,Int32> [property Key] : A | CollectionFlow.cs:336:18:336:24 | access to property Key | provenance | |
| CollectionFlow.cs:353:32:353:38 | element : A | CollectionFlow.cs:353:55:353:61 | access to parameter element : A | provenance | |
| CollectionFlow.cs:353:44:353:48 | [post] access to parameter array : A[] [element] : A | CollectionFlow.cs:353:23:353:27 | array [Return] : A[] [element] : A | provenance | |
| CollectionFlow.cs:353:55:353:61 | access to parameter element : A | CollectionFlow.cs:353:44:353:48 | [post] access to parameter array : A[] [element] : A | provenance | |
| CollectionFlow.cs:357:13:357:13 | access to local variable a : A | CollectionFlow.cs:359:23:359:23 | access to local variable a : A | provenance | |
| CollectionFlow.cs:357:17:357:23 | object creation of type A : A | CollectionFlow.cs:357:13:357:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:359:18:359:20 | [post] access to local variable as : A[] [element] : A | CollectionFlow.cs:360:14:360:16 | access to local variable as : A[] [element] : A | provenance | |
| CollectionFlow.cs:359:18:359:20 | [post] access to local variable as : A[] [element] : A | CollectionFlow.cs:361:18:361:20 | access to local variable as : A[] [element] : A | provenance | |
| CollectionFlow.cs:359:18:359:20 | [post] access to local variable as : A[] [element] : A | CollectionFlow.cs:362:20:362:22 | access to local variable as : A[] [element] : A | provenance | |
| CollectionFlow.cs:359:23:359:23 | access to local variable a : A | CollectionFlow.cs:353:32:353:38 | element : A | provenance | |
| CollectionFlow.cs:359:23:359:23 | access to local variable a : A | CollectionFlow.cs:359:18:359:20 | [post] access to local variable as : A[] [element] : A | provenance | |
| CollectionFlow.cs:360:14:360:16 | access to local variable as : A[] [element] : A | CollectionFlow.cs:360:14:360:19 | access to array element | provenance | |
| CollectionFlow.cs:361:18:361:20 | access to local variable as : A[] [element] : A | CollectionFlow.cs:14:40:14:41 | ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:362:20:362:22 | access to local variable as : A[] [element] : A | CollectionFlow.cs:24:34:24:35 | ts : A[] [element] : A | provenance | |
| CollectionFlow.cs:362:20:362:22 | access to local variable as : A[] [element] : A | CollectionFlow.cs:362:14:362:23 | call to method First<A> | provenance | |
| CollectionFlow.cs:375:34:375:40 | element : A | CollectionFlow.cs:375:55:375:61 | access to parameter element : A | provenance | |
| CollectionFlow.cs:375:46:375:49 | [post] access to parameter list : List<T> [element] : A | CollectionFlow.cs:375:26:375:29 | list [Return] : List<T> [element] : A | provenance | |
| CollectionFlow.cs:375:55:375:61 | access to parameter element : A | CollectionFlow.cs:375:46:375:49 | [post] access to parameter list : List<T> [element] : A | provenance | MaD:3 |
| CollectionFlow.cs:379:13:379:13 | access to local variable a : A | CollectionFlow.cs:381:23:381:23 | access to local variable a : A | provenance | |
| CollectionFlow.cs:379:17:379:23 | object creation of type A : A | CollectionFlow.cs:379:13:379:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:381:17:381:20 | [post] access to local variable list : List<T> [element] : A | CollectionFlow.cs:382:14:382:17 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:381:17:381:20 | [post] access to local variable list : List<T> [element] : A | CollectionFlow.cs:383:22:383:25 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:381:17:381:20 | [post] access to local variable list : List<T> [element] : A | CollectionFlow.cs:384:24:384:27 | access to local variable list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:381:23:381:23 | access to local variable a : A | CollectionFlow.cs:375:34:375:40 | element : A | provenance | |
| CollectionFlow.cs:381:23:381:23 | access to local variable a : A | CollectionFlow.cs:381:17:381:20 | [post] access to local variable list : List<T> [element] : A | provenance | MaD:3 |
| CollectionFlow.cs:382:14:382:17 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:382:14:382:20 | access to indexer | provenance | MaD:11 |
| CollectionFlow.cs:383:22:383:25 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:18:49:18:52 | list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:384:24:384:27 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:28:43:28:46 | list : List<T> [element] : A | provenance | |
| CollectionFlow.cs:384:24:384:27 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:384:14:384:28 | call to method ListFirst<A> | provenance | MaD:11 |
| CollectionFlow.cs:398:20:398:26 | object creation of type A : A | CollectionFlow.cs:40:49:40:52 | args : A[] [element] : A | provenance | |
| CollectionFlow.cs:399:26:399:32 | object creation of type A : A | CollectionFlow.cs:40:49:40:52 | args : A[] [element] : A | provenance | |
| CollectionFlow.cs:400:26:400:32 | object creation of type A : A | CollectionFlow.cs:40:49:40:52 | args : A[] [element] : A | provenance | |
| CollectionFlow.cs:401:20:401:38 | array creation of type A[] : null [element] : A | CollectionFlow.cs:40:49:40:52 | args : null [element] : A | provenance | |
| CollectionFlow.cs:401:28:401:38 | { ..., ... } : null [element] : A | CollectionFlow.cs:401:20:401:38 | array creation of type A[] : null [element] : A | provenance | |
| CollectionFlow.cs:401:30:401:36 | object creation of type A : A | CollectionFlow.cs:401:28:401:38 | { ..., ... } : null [element] : A | provenance | |
| CollectionFlow.cs:414:30:414:36 | object creation of type A : A | CollectionFlow.cs:42:70:42:73 | args : IEnumerable<A> [element] : A | provenance | |
| CollectionFlow.cs:415:36:415:42 | object creation of type A : A | CollectionFlow.cs:42:70:42:73 | args : IEnumerable<A> [element] : A | provenance | |
| CollectionFlow.cs:416:36:416:42 | object creation of type A : A | CollectionFlow.cs:42:70:42:73 | args : IEnumerable<A> [element] : A | provenance | |
| CollectionFlow.cs:417:30:417:38 | [...] : IEnumerable<A> [element] : A | CollectionFlow.cs:42:70:42:73 | args : IEnumerable<A> [element] : A | provenance | |
| CollectionFlow.cs:417:31:417:37 | object creation of type A : A | CollectionFlow.cs:417:30:417:38 | [...] : IEnumerable<A> [element] : A | provenance | |
| CollectionFlow.cs:439:13:439:13 | access to local variable a : A | CollectionFlow.cs:441:20:441:20 | access to local variable a : A | provenance | |
| CollectionFlow.cs:439:17:439:23 | object creation of type A : A | CollectionFlow.cs:439:13:439:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:441:9:441:13 | [post] access to local variable array : MyInlineArray [element] : A | CollectionFlow.cs:442:14:442:18 | access to local variable array : MyInlineArray [element] : A | provenance | |
| CollectionFlow.cs:441:20:441:20 | access to local variable a : A | CollectionFlow.cs:441:9:441:13 | [post] access to local variable array : MyInlineArray [element] : A | provenance | |
| CollectionFlow.cs:442:14:442:18 | access to local variable array : MyInlineArray [element] : A | CollectionFlow.cs:442:14:442:21 | access to array element | provenance | |
| CollectionFlow.cs:460:13:460:13 | access to local variable a : A | CollectionFlow.cs:461:22:461:22 | access to local variable a : A | provenance | |
| CollectionFlow.cs:460:17:460:23 | object creation of type A : A | CollectionFlow.cs:460:13:460:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:461:13:461:17 | access to local variable array : A[] [element] : A | CollectionFlow.cs:462:14:462:18 | access to local variable array : A[] [element] : A | provenance | |
| CollectionFlow.cs:461:21:461:23 | [...] : A[] [element] : A | CollectionFlow.cs:461:13:461:17 | access to local variable array : A[] [element] : A | provenance | |
| CollectionFlow.cs:461:22:461:22 | access to local variable a : A | CollectionFlow.cs:461:21:461:23 | [...] : A[] [element] : A | provenance | |
| CollectionFlow.cs:462:14:462:18 | access to local variable array : A[] [element] : A | CollectionFlow.cs:462:14:462:21 | access to array element | provenance | |
| CollectionFlow.cs:467:13:467:13 | access to local variable a : A | CollectionFlow.cs:468:22:468:22 | access to local variable a : A | provenance | |
| CollectionFlow.cs:467:17:467:23 | object creation of type A : A | CollectionFlow.cs:467:13:467:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:468:17:468:17 | access to local variable l : List<A> [element] : A | CollectionFlow.cs:469:14:469:14 | access to local variable l : List<A> [element] : A | provenance | |
| CollectionFlow.cs:468:21:468:23 | [...] : List<A> [element] : A | CollectionFlow.cs:468:17:468:17 | access to local variable l : List<A> [element] : A | provenance | |
| CollectionFlow.cs:468:22:468:22 | access to local variable a : A | CollectionFlow.cs:468:21:468:23 | [...] : List<A> [element] : A | provenance | |
| CollectionFlow.cs:469:14:469:14 | access to local variable l : List<A> [element] : A | CollectionFlow.cs:469:14:469:17 | access to indexer | provenance | MaD:11 |
| CollectionFlow.cs:480:13:480:13 | access to local variable a : A | CollectionFlow.cs:481:21:481:21 | access to local variable a : A | provenance | |
| CollectionFlow.cs:480:17:480:23 | object creation of type A : A | CollectionFlow.cs:480:13:480:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:481:13:481:16 | access to local variable temp : A[] [element] : A | CollectionFlow.cs:482:22:482:28 | .. access to local variable temp : A[] [element] : A | provenance | |
| CollectionFlow.cs:481:20:481:22 | [...] : A[] [element] : A | CollectionFlow.cs:481:13:481:16 | access to local variable temp : A[] [element] : A | provenance | |
| CollectionFlow.cs:481:21:481:21 | access to local variable a : A | CollectionFlow.cs:481:20:481:22 | [...] : A[] [element] : A | provenance | |
| CollectionFlow.cs:482:13:482:17 | access to local variable array : A[] [element] : A | CollectionFlow.cs:483:14:483:18 | access to local variable array : A[] [element] : A | provenance | |
| CollectionFlow.cs:482:22:482:28 | .. access to local variable temp : A[] [element] : A | CollectionFlow.cs:482:13:482:17 | access to local variable array : A[] [element] : A | provenance | |
| CollectionFlow.cs:483:14:483:18 | access to local variable array : A[] [element] : A | CollectionFlow.cs:483:14:483:21 | access to array element | provenance | |
| CollectionFlow.cs:520:13:520:13 | access to local variable a : A | CollectionFlow.cs:521:40:521:40 | access to local variable a : A | provenance | |
| CollectionFlow.cs:520:17:520:23 | object creation of type A : A | CollectionFlow.cs:520:13:520:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:521:17:521:20 | access to local variable span : Span<T> [element] : A | CollectionFlow.cs:522:14:522:17 | access to local variable span : Span<T> [element] : A | provenance | |
| CollectionFlow.cs:521:24:521:41 | object creation of type Span<A> : Span<T> [element] : A | CollectionFlow.cs:521:17:521:20 | access to local variable span : Span<T> [element] : A | provenance | |
| CollectionFlow.cs:521:40:521:40 | access to local variable a : A | CollectionFlow.cs:521:24:521:41 | object creation of type Span<A> : Span<T> [element] : A | provenance | MaD:23 |
| CollectionFlow.cs:522:14:522:17 | access to local variable span : Span<T> [element] : A | CollectionFlow.cs:522:14:522:20 | access to indexer | provenance | MaD:26 |
| CollectionFlow.cs:527:13:527:13 | access to local variable a : A | CollectionFlow.cs:528:40:528:40 | access to local variable a : A | provenance | |
| CollectionFlow.cs:527:17:527:23 | object creation of type A : A | CollectionFlow.cs:527:13:527:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:528:17:528:20 | access to local variable span : Span<T> [element] : A | CollectionFlow.cs:529:19:529:22 | access to local variable span : Span<T> [element] : A | provenance | |
| CollectionFlow.cs:528:24:528:41 | object creation of type Span<A> : Span<T> [element] : A | CollectionFlow.cs:528:17:528:20 | access to local variable span : Span<T> [element] : A | provenance | |
| CollectionFlow.cs:528:40:528:40 | access to local variable a : A | CollectionFlow.cs:528:24:528:41 | object creation of type Span<A> : Span<T> [element] : A | provenance | MaD:23 |
| CollectionFlow.cs:529:13:529:15 | access to local variable arr : T[] [element] : A | CollectionFlow.cs:530:14:530:16 | access to local variable arr : T[] [element] : A | provenance | |
| CollectionFlow.cs:529:19:529:22 | access to local variable span : Span<T> [element] : A | CollectionFlow.cs:529:19:529:32 | call to method ToArray : T[] [element] : A | provenance | MaD:25 |
| CollectionFlow.cs:529:19:529:32 | call to method ToArray : T[] [element] : A | CollectionFlow.cs:529:13:529:15 | access to local variable arr : T[] [element] : A | provenance | |
| CollectionFlow.cs:530:14:530:16 | access to local variable arr : T[] [element] : A | CollectionFlow.cs:530:14:530:19 | access to array element | provenance | |
| CollectionFlow.cs:535:13:535:13 | access to local variable a : A | CollectionFlow.cs:536:21:536:21 | access to local variable a : A | provenance | |
| CollectionFlow.cs:535:17:535:23 | object creation of type A : A | CollectionFlow.cs:535:13:535:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:536:9:536:14 | [post] access to parameter target : Span<T> [element] : A | CollectionFlow.cs:537:14:537:19 | access to parameter target : Span<T> [element] : A | provenance | |
| CollectionFlow.cs:536:21:536:21 | access to local variable a : A | CollectionFlow.cs:536:9:536:14 | [post] access to parameter target : Span<T> [element] : A | provenance | MaD:22 |
| CollectionFlow.cs:537:14:537:19 | access to parameter target : Span<T> [element] : A | CollectionFlow.cs:537:14:537:22 | access to indexer | provenance | MaD:26 |
| CollectionFlow.cs:542:13:542:18 | access to local variable source : Span<T> [element] : A | CollectionFlow.cs:543:9:543:14 | access to local variable source : Span<T> [element] : A | provenance | |
| CollectionFlow.cs:542:22:542:51 | object creation of type Span<A> : Span<T> [element] : A | CollectionFlow.cs:542:13:542:18 | access to local variable source : Span<T> [element] : A | provenance | |
| CollectionFlow.cs:542:34:542:50 | array creation of type A[] : null [element] : A | CollectionFlow.cs:542:22:542:51 | object creation of type Span<A> : Span<T> [element] : A | provenance | MaD:24 |
| CollectionFlow.cs:542:40:542:50 | { ..., ... } : null [element] : A | CollectionFlow.cs:542:34:542:50 | array creation of type A[] : null [element] : A | provenance | |
| CollectionFlow.cs:542:42:542:48 | object creation of type A : A | CollectionFlow.cs:542:40:542:50 | { ..., ... } : null [element] : A | provenance | |
| CollectionFlow.cs:543:9:543:14 | access to local variable source : Span<T> [element] : A | CollectionFlow.cs:543:23:543:28 | [post] access to parameter target : Span<T> [element] : A | provenance | MaD:21 |
| CollectionFlow.cs:543:23:543:28 | [post] access to parameter target : Span<T> [element] : A | CollectionFlow.cs:544:14:544:19 | access to parameter target : Span<T> [element] : A | provenance | |
| CollectionFlow.cs:544:14:544:19 | access to parameter target : Span<T> [element] : A | CollectionFlow.cs:544:14:544:22 | access to indexer | provenance | MaD:26 |
| CollectionFlow.cs:549:13:549:13 | access to local variable a : A | CollectionFlow.cs:550:60:550:60 | access to local variable a : A | provenance | |
| CollectionFlow.cs:549:17:549:23 | object creation of type A : A | CollectionFlow.cs:549:13:549:13 | access to local variable a : A | provenance | |
| CollectionFlow.cs:550:25:550:28 | access to local variable span : ReadOnlySpan<T> [element] : A | CollectionFlow.cs:551:14:551:17 | access to local variable span : ReadOnlySpan<T> [element] : A | provenance | |
| CollectionFlow.cs:550:32:550:63 | object creation of type ReadOnlySpan<A> : ReadOnlySpan<T> [element] : A | CollectionFlow.cs:550:25:550:28 | access to local variable span : ReadOnlySpan<T> [element] : A | provenance | |
| CollectionFlow.cs:550:52:550:62 | array creation of type A[] : null [element] : A | CollectionFlow.cs:550:32:550:63 | object creation of type ReadOnlySpan<A> : ReadOnlySpan<T> [element] : A | provenance | MaD:19 |
| CollectionFlow.cs:550:58:550:62 | { ..., ... } : null [element] : A | CollectionFlow.cs:550:52:550:62 | array creation of type A[] : null [element] : A | provenance | |
| CollectionFlow.cs:550:60:550:60 | access to local variable a : A | CollectionFlow.cs:550:58:550:62 | { ..., ... } : null [element] : A | provenance | |
| CollectionFlow.cs:551:14:551:17 | access to local variable span : ReadOnlySpan<T> [element] : A | CollectionFlow.cs:551:14:551:20 | access to indexer | provenance | MaD:20 |
nodes
| CollectionFlow.cs:14:40:14:41 | ts : A[] [element] : A | semmle.label | ts : A[] [element] : A |
| CollectionFlow.cs:14:40:14:41 | ts : null [element] : A | semmle.label | ts : null [element] : A |
| CollectionFlow.cs:14:52:14:53 | access to parameter ts : A[] [element] : A | semmle.label | access to parameter ts : A[] [element] : A |
| CollectionFlow.cs:14:52:14:53 | access to parameter ts : null [element] : A | semmle.label | access to parameter ts : null [element] : A |
| CollectionFlow.cs:14:52:14:56 | access to array element | semmle.label | access to array element |
| CollectionFlow.cs:16:44:16:45 | ts : A[] [element] : A | semmle.label | ts : A[] [element] : A |
| CollectionFlow.cs:16:56:16:57 | access to parameter ts : A[] [element] : A | semmle.label | access to parameter ts : A[] [element] : A |
| CollectionFlow.cs:16:56:16:61 | access to array element | semmle.label | access to array element |
| CollectionFlow.cs:18:49:18:52 | list : List<T> [element] : A | semmle.label | list : List<T> [element] : A |
| CollectionFlow.cs:18:63:18:66 | access to parameter list : List<T> [element] : A | semmle.label | access to parameter list : List<T> [element] : A |
| CollectionFlow.cs:18:63:18:69 | access to indexer | semmle.label | access to indexer |
| CollectionFlow.cs:20:61:20:64 | dict : Dictionary<T,T> [element, property Value] : A | semmle.label | dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:20:75:20:78 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to parameter dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:20:75:20:81 | access to indexer | semmle.label | access to indexer |
| CollectionFlow.cs:22:59:22:62 | dict : Dictionary<T,T> [element, property Key] : A | semmle.label | dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:22:73:22:76 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | semmle.label | access to parameter dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:22:73:22:81 | access to property Keys : ICollection<T> [element] : A | semmle.label | access to property Keys : ICollection<T> [element] : A |
| CollectionFlow.cs:22:73:22:89 | call to method First<T> | semmle.label | call to method First<T> |
| CollectionFlow.cs:24:34:24:35 | ts : A[] [element] : A | semmle.label | ts : A[] [element] : A |
| CollectionFlow.cs:24:34:24:35 | ts : null [element] : A | semmle.label | ts : null [element] : A |
| CollectionFlow.cs:24:41:24:42 | access to parameter ts : A[] [element] : A | semmle.label | access to parameter ts : A[] [element] : A |
| CollectionFlow.cs:24:41:24:42 | access to parameter ts : null [element] : A | semmle.label | access to parameter ts : null [element] : A |
| CollectionFlow.cs:24:41:24:45 | access to array element : A | semmle.label | access to array element : A |
| CollectionFlow.cs:24:41:24:45 | access to array element : A | semmle.label | access to array element : A |
| CollectionFlow.cs:26:33:26:34 | ts : A[] [element] : A | semmle.label | ts : A[] [element] : A |
| CollectionFlow.cs:26:40:26:41 | access to parameter ts : A[] [element] : A | semmle.label | access to parameter ts : A[] [element] : A |
| CollectionFlow.cs:26:40:26:45 | access to array element : A | semmle.label | access to array element : A |
| CollectionFlow.cs:28:43:28:46 | list : List<T> [element] : A | semmle.label | list : List<T> [element] : A |
| CollectionFlow.cs:28:52:28:55 | access to parameter list : List<T> [element] : A | semmle.label | access to parameter list : List<T> [element] : A |
| CollectionFlow.cs:28:52:28:58 | access to indexer : A | semmle.label | access to indexer : A |
| CollectionFlow.cs:30:58:30:61 | dict : Dictionary<T,T> [element, property Value] : A | semmle.label | dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:30:67:30:70 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to parameter dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:30:67:30:73 | access to indexer : A | semmle.label | access to indexer : A |
| CollectionFlow.cs:32:59:32:62 | dict : Dictionary<T,T> [element, property Value] : A | semmle.label | dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:32:68:32:71 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to parameter dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:32:68:32:79 | call to method First<KeyValuePair<Int32,T>> : KeyValuePair<Int32,T> [property Value] : A | semmle.label | call to method First<KeyValuePair<Int32,T>> : KeyValuePair<Int32,T> [property Value] : A |
| CollectionFlow.cs:32:68:32:85 | access to property Value : A | semmle.label | access to property Value : A |
| CollectionFlow.cs:34:60:34:63 | dict : Dictionary<T,T> [element, property Value] : A | semmle.label | dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:34:69:34:72 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to parameter dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:34:69:34:79 | access to property Values : ICollection<T> [element] : A | semmle.label | access to property Values : ICollection<T> [element] : A |
| CollectionFlow.cs:34:69:34:87 | call to method First<T> : A | semmle.label | call to method First<T> : A |
| CollectionFlow.cs:36:58:36:61 | dict : Dictionary<T,T> [element, property Key] : A | semmle.label | dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:36:67:36:70 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | semmle.label | access to parameter dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:36:67:36:75 | access to property Keys : ICollection<T> [element] : A | semmle.label | access to property Keys : ICollection<T> [element] : A |
| CollectionFlow.cs:36:67:36:83 | call to method First<T> : A | semmle.label | call to method First<T> : A |
| CollectionFlow.cs:38:57:38:60 | dict : Dictionary<T,T> [element, property Key] : A | semmle.label | dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:38:66:38:69 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | semmle.label | access to parameter dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:38:66:38:77 | call to method First<KeyValuePair<T,Int32>> : KeyValuePair<T,Int32> [property Key] : A | semmle.label | call to method First<KeyValuePair<T,Int32>> : KeyValuePair<T,Int32> [property Key] : A |
| CollectionFlow.cs:38:66:38:81 | access to property Key : A | semmle.label | access to property Key : A |
| CollectionFlow.cs:40:49:40:52 | args : A[] [element] : A | semmle.label | args : A[] [element] : A |
| CollectionFlow.cs:40:49:40:52 | args : null [element] : A | semmle.label | args : null [element] : A |
| CollectionFlow.cs:40:63:40:66 | access to parameter args : A[] [element] : A | semmle.label | access to parameter args : A[] [element] : A |
| CollectionFlow.cs:40:63:40:66 | access to parameter args : null [element] : A | semmle.label | access to parameter args : null [element] : A |
| CollectionFlow.cs:40:63:40:69 | access to array element | semmle.label | access to array element |
| CollectionFlow.cs:42:70:42:73 | args : IEnumerable<A> [element] : A | semmle.label | args : IEnumerable<A> [element] : A |
| CollectionFlow.cs:42:84:42:87 | access to parameter args : IEnumerable<A> [element] : A | semmle.label | access to parameter args : IEnumerable<A> [element] : A |
| CollectionFlow.cs:42:84:42:95 | call to method First<T> | semmle.label | call to method First<T> |
| CollectionFlow.cs:46:13:46:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:46:17:46:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:47:13:47:15 | access to local variable as : null [element] : A | semmle.label | access to local variable as : null [element] : A |
| CollectionFlow.cs:47:25:47:29 | { ..., ... } : null [element] : A | semmle.label | { ..., ... } : null [element] : A |
| CollectionFlow.cs:47:27:47:27 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:48:14:48:16 | access to local variable as : null [element] : A | semmle.label | access to local variable as : null [element] : A |
| CollectionFlow.cs:48:14:48:19 | access to array element | semmle.label | access to array element |
| CollectionFlow.cs:49:18:49:20 | access to local variable as : null [element] : A | semmle.label | access to local variable as : null [element] : A |
| CollectionFlow.cs:50:14:50:23 | call to method First<A> | semmle.label | call to method First<A> |
| CollectionFlow.cs:50:20:50:22 | access to local variable as : null [element] : A | semmle.label | access to local variable as : null [element] : A |
| CollectionFlow.cs:64:13:64:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:64:17:64:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:65:13:65:13 | access to local variable c : CollectionFlow [field As, element] : A | semmle.label | access to local variable c : CollectionFlow [field As, element] : A |
| CollectionFlow.cs:65:38:65:57 | { ..., ... } : CollectionFlow [field As, element] : A | semmle.label | { ..., ... } : CollectionFlow [field As, element] : A |
| CollectionFlow.cs:65:45:65:55 | { ..., ... } : A[] [element] : A | semmle.label | { ..., ... } : A[] [element] : A |
| CollectionFlow.cs:65:53:65:53 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:66:14:66:14 | access to local variable c : CollectionFlow [field As, element] : A | semmle.label | access to local variable c : CollectionFlow [field As, element] : A |
| CollectionFlow.cs:66:14:66:17 | access to field As : A[] [element] : A | semmle.label | access to field As : A[] [element] : A |
| CollectionFlow.cs:66:14:66:20 | access to array element | semmle.label | access to array element |
| CollectionFlow.cs:67:18:67:18 | access to local variable c : CollectionFlow [field As, element] : A | semmle.label | access to local variable c : CollectionFlow [field As, element] : A |
| CollectionFlow.cs:67:18:67:21 | access to field As : A[] [element] : A | semmle.label | access to field As : A[] [element] : A |
| CollectionFlow.cs:68:14:68:24 | call to method First<A> | semmle.label | call to method First<A> |
| CollectionFlow.cs:68:20:68:20 | access to local variable c : CollectionFlow [field As, element] : A | semmle.label | access to local variable c : CollectionFlow [field As, element] : A |
| CollectionFlow.cs:68:20:68:23 | access to field As : A[] [element] : A | semmle.label | access to field As : A[] [element] : A |
| CollectionFlow.cs:82:13:82:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:82:17:82:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:83:13:83:13 | access to local variable c : CollectionFlow [field As, element] : A | semmle.label | access to local variable c : CollectionFlow [field As, element] : A |
| CollectionFlow.cs:83:38:83:58 | { ..., ... } : CollectionFlow [field As, element] : A | semmle.label | { ..., ... } : CollectionFlow [field As, element] : A |
| CollectionFlow.cs:83:45:83:56 | { ..., ... } : A[] [element] : A | semmle.label | { ..., ... } : A[] [element] : A |
| CollectionFlow.cs:83:54:83:54 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:84:14:84:14 | access to local variable c : CollectionFlow [field As, element] : A | semmle.label | access to local variable c : CollectionFlow [field As, element] : A |
| CollectionFlow.cs:84:14:84:17 | access to field As : A[] [element] : A | semmle.label | access to field As : A[] [element] : A |
| CollectionFlow.cs:84:14:84:21 | access to array element | semmle.label | access to array element |
| CollectionFlow.cs:85:22:85:22 | access to local variable c : CollectionFlow [field As, element] : A | semmle.label | access to local variable c : CollectionFlow [field As, element] : A |
| CollectionFlow.cs:85:22:85:25 | access to field As : A[] [element] : A | semmle.label | access to field As : A[] [element] : A |
| CollectionFlow.cs:86:14:86:23 | call to method Last<A> | semmle.label | call to method Last<A> |
| CollectionFlow.cs:86:19:86:19 | access to local variable c : CollectionFlow [field As, element] : A | semmle.label | access to local variable c : CollectionFlow [field As, element] : A |
| CollectionFlow.cs:86:19:86:22 | access to field As : A[] [element] : A | semmle.label | access to field As : A[] [element] : A |
| CollectionFlow.cs:91:13:91:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:91:17:91:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:93:9:93:11 | [post] access to local variable as : A[] [element] : A | semmle.label | [post] access to local variable as : A[] [element] : A |
| CollectionFlow.cs:93:18:93:18 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:94:14:94:16 | access to local variable as : A[] [element] : A | semmle.label | access to local variable as : A[] [element] : A |
| CollectionFlow.cs:94:14:94:19 | access to array element | semmle.label | access to array element |
| CollectionFlow.cs:95:18:95:20 | access to local variable as : A[] [element] : A | semmle.label | access to local variable as : A[] [element] : A |
| CollectionFlow.cs:96:14:96:23 | call to method First<A> | semmle.label | call to method First<A> |
| CollectionFlow.cs:96:20:96:22 | access to local variable as : A[] [element] : A | semmle.label | access to local variable as : A[] [element] : A |
| CollectionFlow.cs:111:13:111:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:111:17:111:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:113:9:113:11 | [post] access to local variable as : A[] [element] : A | semmle.label | [post] access to local variable as : A[] [element] : A |
| CollectionFlow.cs:113:19:113:19 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:114:14:114:16 | access to local variable as : A[] [element] : A | semmle.label | access to local variable as : A[] [element] : A |
| CollectionFlow.cs:114:14:114:20 | access to array element | semmle.label | access to array element |
| CollectionFlow.cs:115:22:115:24 | access to local variable as : A[] [element] : A | semmle.label | access to local variable as : A[] [element] : A |
| CollectionFlow.cs:116:14:116:22 | call to method Last<A> | semmle.label | call to method Last<A> |
| CollectionFlow.cs:116:19:116:21 | access to local variable as : A[] [element] : A | semmle.label | access to local variable as : A[] [element] : A |
| CollectionFlow.cs:121:13:121:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:121:17:121:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:123:9:123:12 | [post] access to local variable list : List<T> [element] : A | semmle.label | [post] access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:123:19:123:19 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:124:14:124:17 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:124:14:124:20 | access to indexer | semmle.label | access to indexer |
| CollectionFlow.cs:125:22:125:25 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:126:14:126:28 | call to method ListFirst<A> | semmle.label | call to method ListFirst<A> |
| CollectionFlow.cs:126:24:126:27 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:140:13:140:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:140:17:140:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:141:13:141:16 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:141:20:141:38 | object creation of type List<A> : List<T> [element] : A | semmle.label | object creation of type List<A> : List<T> [element] : A |
| CollectionFlow.cs:141:36:141:36 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:142:14:142:17 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:142:14:142:20 | access to indexer | semmle.label | access to indexer |
| CollectionFlow.cs:143:22:143:25 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:144:14:144:28 | call to method ListFirst<A> | semmle.label | call to method ListFirst<A> |
| CollectionFlow.cs:144:24:144:27 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:157:13:157:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:157:17:157:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:159:9:159:12 | [post] access to local variable list : List<T> [element] : A | semmle.label | [post] access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:159:18:159:18 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:160:14:160:17 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:160:14:160:20 | access to indexer | semmle.label | access to indexer |
| CollectionFlow.cs:161:22:161:25 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:162:14:162:28 | call to method ListFirst<A> | semmle.label | call to method ListFirst<A> |
| CollectionFlow.cs:162:24:162:27 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:176:13:176:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:176:17:176:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:178:9:178:12 | [post] access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | [post] access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:178:19:178:19 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:179:14:179:17 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:179:14:179:20 | access to indexer | semmle.label | access to indexer |
| CollectionFlow.cs:180:23:180:26 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:181:14:181:32 | call to method DictIndexZero<A> | semmle.label | call to method DictIndexZero<A> |
| CollectionFlow.cs:181:28:181:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:182:14:182:33 | call to method DictFirstValue<A> | semmle.label | call to method DictFirstValue<A> |
| CollectionFlow.cs:182:29:182:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:183:14:183:34 | call to method DictValuesFirst<A> | semmle.label | call to method DictValuesFirst<A> |
| CollectionFlow.cs:183:30:183:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:199:13:199:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:199:17:199:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:200:13:200:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:200:20:200:56 | object creation of type Dictionary<Int32,A> : Dictionary<T,T> [element, property Value] : A | semmle.label | object creation of type Dictionary<Int32,A> : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:200:52:200:52 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:201:14:201:17 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:201:14:201:20 | access to indexer | semmle.label | access to indexer |
| CollectionFlow.cs:202:23:202:26 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:203:14:203:32 | call to method DictIndexZero<A> | semmle.label | call to method DictIndexZero<A> |
| CollectionFlow.cs:203:28:203:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:204:14:204:33 | call to method DictFirstValue<A> | semmle.label | call to method DictFirstValue<A> |
| CollectionFlow.cs:204:29:204:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:205:14:205:34 | call to method DictValuesFirst<A> | semmle.label | call to method DictValuesFirst<A> |
| CollectionFlow.cs:205:30:205:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:220:13:220:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:220:17:220:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:221:13:221:16 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:221:20:221:55 | object creation of type Dictionary<Int32,A> : Dictionary<T,T> [element, property Value] : A | semmle.label | object creation of type Dictionary<Int32,A> : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:221:53:221:53 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:222:14:222:17 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:222:14:222:20 | access to indexer | semmle.label | access to indexer |
| CollectionFlow.cs:223:23:223:26 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:224:14:224:32 | call to method DictIndexZero<A> | semmle.label | call to method DictIndexZero<A> |
| CollectionFlow.cs:224:28:224:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:225:14:225:33 | call to method DictFirstValue<A> | semmle.label | call to method DictFirstValue<A> |
| CollectionFlow.cs:225:29:225:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:226:14:226:34 | call to method DictValuesFirst<A> | semmle.label | call to method DictValuesFirst<A> |
| CollectionFlow.cs:226:30:226:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Value] : A |
| CollectionFlow.cs:242:13:242:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:242:17:242:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:243:13:243:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:243:20:243:56 | object creation of type Dictionary<A,Int32> : Dictionary<T,T> [element, property Key] : A | semmle.label | object creation of type Dictionary<A,Int32> : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:243:49:243:49 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:244:14:244:17 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:244:14:244:22 | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A | semmle.label | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A |
| CollectionFlow.cs:244:14:244:30 | call to method First<A> | semmle.label | call to method First<A> |
| CollectionFlow.cs:245:21:245:24 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:246:14:246:32 | call to method DictKeysFirst<A> | semmle.label | call to method DictKeysFirst<A> |
| CollectionFlow.cs:246:28:246:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:247:14:247:31 | call to method DictFirstKey<A> | semmle.label | call to method DictFirstKey<A> |
| CollectionFlow.cs:247:27:247:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:261:13:261:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:261:17:261:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:262:13:262:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:262:20:262:55 | object creation of type Dictionary<A,Int32> : Dictionary<T,T> [element, property Key] : A | semmle.label | object creation of type Dictionary<A,Int32> : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:262:48:262:48 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:263:14:263:17 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:263:14:263:22 | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A | semmle.label | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A |
| CollectionFlow.cs:263:14:263:30 | call to method First<A> | semmle.label | call to method First<A> |
| CollectionFlow.cs:264:21:264:24 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:265:14:265:32 | call to method DictKeysFirst<A> | semmle.label | call to method DictKeysFirst<A> |
| CollectionFlow.cs:265:28:265:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:266:14:266:31 | call to method DictFirstKey<A> | semmle.label | call to method DictFirstKey<A> |
| CollectionFlow.cs:266:27:266:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | semmle.label | access to local variable dict : Dictionary<T,T> [element, property Key] : A |
| CollectionFlow.cs:280:13:280:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:280:17:280:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:281:13:281:15 | access to local variable as : null [element] : A | semmle.label | access to local variable as : null [element] : A |
| CollectionFlow.cs:281:25:281:29 | { ..., ... } : null [element] : A | semmle.label | { ..., ... } : null [element] : A |
| CollectionFlow.cs:281:27:281:27 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:282:27:282:29 | access to local variable as : null [element] : A | semmle.label | access to local variable as : null [element] : A |
| CollectionFlow.cs:283:18:283:18 | access to local variable x | semmle.label | access to local variable x |
| CollectionFlow.cs:295:13:295:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:295:17:295:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:296:13:296:15 | access to local variable as : null [element] : A | semmle.label | access to local variable as : null [element] : A |
| CollectionFlow.cs:296:25:296:29 | { ..., ... } : null [element] : A | semmle.label | { ..., ... } : null [element] : A |
| CollectionFlow.cs:296:27:296:27 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:297:13:297:22 | access to local variable enumerator : IEnumerator [property Current] : A | semmle.label | access to local variable enumerator : IEnumerator [property Current] : A |
| CollectionFlow.cs:297:26:297:28 | access to local variable as : null [element] : A | semmle.label | access to local variable as : null [element] : A |
| CollectionFlow.cs:297:26:297:44 | call to method GetEnumerator : IEnumerator [property Current] : A | semmle.label | call to method GetEnumerator : IEnumerator [property Current] : A |
| CollectionFlow.cs:299:18:299:27 | access to local variable enumerator : IEnumerator [property Current] : A | semmle.label | access to local variable enumerator : IEnumerator [property Current] : A |
| CollectionFlow.cs:299:18:299:35 | access to property Current | semmle.label | access to property Current |
| CollectionFlow.cs:312:13:312:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:312:17:312:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:314:9:314:12 | [post] access to local variable list : List<T> [element] : A | semmle.label | [post] access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:314:18:314:18 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:315:13:315:22 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | semmle.label | access to local variable enumerator : List<T>.Enumerator [property Current] : A |
| CollectionFlow.cs:315:13:315:22 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | semmle.label | access to local variable enumerator : List<T>.Enumerator [property Current] : A |
| CollectionFlow.cs:315:26:315:29 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:315:26:315:45 | call to method GetEnumerator : List<T>.Enumerator [property Current] : A | semmle.label | call to method GetEnumerator : List<T>.Enumerator [property Current] : A |
| CollectionFlow.cs:315:26:315:45 | call to method GetEnumerator : List<T>.Enumerator [property Current] : A | semmle.label | call to method GetEnumerator : List<T>.Enumerator [property Current] : A |
| CollectionFlow.cs:317:18:317:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | semmle.label | access to local variable enumerator : List<T>.Enumerator [property Current] : A |
| CollectionFlow.cs:317:18:317:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | semmle.label | access to local variable enumerator : List<T>.Enumerator [property Current] : A |
| CollectionFlow.cs:317:18:317:35 | access to property Current | semmle.label | access to property Current |
| CollectionFlow.cs:331:13:331:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:331:17:331:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:333:9:333:12 | [post] access to local variable list : List<T> [element, property Key] : A | semmle.label | [post] access to local variable list : List<T> [element, property Key] : A |
| CollectionFlow.cs:333:18:333:47 | object creation of type KeyValuePair<A,Int32> : KeyValuePair<T,T> [property Key] : A | semmle.label | object creation of type KeyValuePair<A,Int32> : KeyValuePair<T,T> [property Key] : A |
| CollectionFlow.cs:333:43:333:43 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:334:9:334:12 | access to local variable list : List<T> [element, property Key] : A | semmle.label | access to local variable list : List<T> [element, property Key] : A |
| CollectionFlow.cs:334:21:334:23 | kvp : KeyValuePair<A,Int32> [property Key] : A | semmle.label | kvp : KeyValuePair<A,Int32> [property Key] : A |
| CollectionFlow.cs:336:18:336:20 | access to parameter kvp : KeyValuePair<A,Int32> [property Key] : A | semmle.label | access to parameter kvp : KeyValuePair<A,Int32> [property Key] : A |
| CollectionFlow.cs:336:18:336:24 | access to property Key | semmle.label | access to property Key |
| CollectionFlow.cs:353:23:353:27 | array [Return] : A[] [element] : A | semmle.label | array [Return] : A[] [element] : A |
| CollectionFlow.cs:353:32:353:38 | element : A | semmle.label | element : A |
| CollectionFlow.cs:353:44:353:48 | [post] access to parameter array : A[] [element] : A | semmle.label | [post] access to parameter array : A[] [element] : A |
| CollectionFlow.cs:353:55:353:61 | access to parameter element : A | semmle.label | access to parameter element : A |
| CollectionFlow.cs:357:13:357:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:357:17:357:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:359:18:359:20 | [post] access to local variable as : A[] [element] : A | semmle.label | [post] access to local variable as : A[] [element] : A |
| CollectionFlow.cs:359:23:359:23 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:360:14:360:16 | access to local variable as : A[] [element] : A | semmle.label | access to local variable as : A[] [element] : A |
| CollectionFlow.cs:360:14:360:19 | access to array element | semmle.label | access to array element |
| CollectionFlow.cs:361:18:361:20 | access to local variable as : A[] [element] : A | semmle.label | access to local variable as : A[] [element] : A |
| CollectionFlow.cs:362:14:362:23 | call to method First<A> | semmle.label | call to method First<A> |
| CollectionFlow.cs:362:20:362:22 | access to local variable as : A[] [element] : A | semmle.label | access to local variable as : A[] [element] : A |
| CollectionFlow.cs:375:26:375:29 | list [Return] : List<T> [element] : A | semmle.label | list [Return] : List<T> [element] : A |
| CollectionFlow.cs:375:34:375:40 | element : A | semmle.label | element : A |
| CollectionFlow.cs:375:46:375:49 | [post] access to parameter list : List<T> [element] : A | semmle.label | [post] access to parameter list : List<T> [element] : A |
| CollectionFlow.cs:375:55:375:61 | access to parameter element : A | semmle.label | access to parameter element : A |
| CollectionFlow.cs:379:13:379:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:379:17:379:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:381:17:381:20 | [post] access to local variable list : List<T> [element] : A | semmle.label | [post] access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:381:23:381:23 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:382:14:382:17 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:382:14:382:20 | access to indexer | semmle.label | access to indexer |
| CollectionFlow.cs:383:22:383:25 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:384:14:384:28 | call to method ListFirst<A> | semmle.label | call to method ListFirst<A> |
| CollectionFlow.cs:384:24:384:27 | access to local variable list : List<T> [element] : A | semmle.label | access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:398:20:398:26 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:399:26:399:32 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:400:26:400:32 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:401:20:401:38 | array creation of type A[] : null [element] : A | semmle.label | array creation of type A[] : null [element] : A |
| CollectionFlow.cs:401:28:401:38 | { ..., ... } : null [element] : A | semmle.label | { ..., ... } : null [element] : A |
| CollectionFlow.cs:401:30:401:36 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:414:30:414:36 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:415:36:415:42 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:416:36:416:42 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:417:30:417:38 | [...] : IEnumerable<A> [element] : A | semmle.label | [...] : IEnumerable<A> [element] : A |
| CollectionFlow.cs:417:31:417:37 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:439:13:439:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:439:17:439:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:441:9:441:13 | [post] access to local variable array : MyInlineArray [element] : A | semmle.label | [post] access to local variable array : MyInlineArray [element] : A |
| CollectionFlow.cs:441:20:441:20 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:442:14:442:18 | access to local variable array : MyInlineArray [element] : A | semmle.label | access to local variable array : MyInlineArray [element] : A |
| CollectionFlow.cs:442:14:442:21 | access to array element | semmle.label | access to array element |
| CollectionFlow.cs:460:13:460:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:460:17:460:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:461:13:461:17 | access to local variable array : A[] [element] : A | semmle.label | access to local variable array : A[] [element] : A |
| CollectionFlow.cs:461:21:461:23 | [...] : A[] [element] : A | semmle.label | [...] : A[] [element] : A |
| CollectionFlow.cs:461:22:461:22 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:462:14:462:18 | access to local variable array : A[] [element] : A | semmle.label | access to local variable array : A[] [element] : A |
| CollectionFlow.cs:462:14:462:21 | access to array element | semmle.label | access to array element |
| CollectionFlow.cs:467:13:467:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:467:17:467:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:468:17:468:17 | access to local variable l : List<A> [element] : A | semmle.label | access to local variable l : List<A> [element] : A |
| CollectionFlow.cs:468:21:468:23 | [...] : List<A> [element] : A | semmle.label | [...] : List<A> [element] : A |
| CollectionFlow.cs:468:22:468:22 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:469:14:469:14 | access to local variable l : List<A> [element] : A | semmle.label | access to local variable l : List<A> [element] : A |
| CollectionFlow.cs:469:14:469:17 | access to indexer | semmle.label | access to indexer |
| CollectionFlow.cs:480:13:480:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:480:17:480:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:481:13:481:16 | access to local variable temp : A[] [element] : A | semmle.label | access to local variable temp : A[] [element] : A |
| CollectionFlow.cs:481:20:481:22 | [...] : A[] [element] : A | semmle.label | [...] : A[] [element] : A |
| CollectionFlow.cs:481:21:481:21 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:482:13:482:17 | access to local variable array : A[] [element] : A | semmle.label | access to local variable array : A[] [element] : A |
| CollectionFlow.cs:482:22:482:28 | .. access to local variable temp : A[] [element] : A | semmle.label | .. access to local variable temp : A[] [element] : A |
| CollectionFlow.cs:483:14:483:18 | access to local variable array : A[] [element] : A | semmle.label | access to local variable array : A[] [element] : A |
| CollectionFlow.cs:483:14:483:21 | access to array element | semmle.label | access to array element |
| CollectionFlow.cs:520:13:520:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:520:17:520:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:521:17:521:20 | access to local variable span : Span<T> [element] : A | semmle.label | access to local variable span : Span<T> [element] : A |
| CollectionFlow.cs:521:24:521:41 | object creation of type Span<A> : Span<T> [element] : A | semmle.label | object creation of type Span<A> : Span<T> [element] : A |
| CollectionFlow.cs:521:40:521:40 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:522:14:522:17 | access to local variable span : Span<T> [element] : A | semmle.label | access to local variable span : Span<T> [element] : A |
| CollectionFlow.cs:522:14:522:20 | access to indexer | semmle.label | access to indexer |
| CollectionFlow.cs:527:13:527:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:527:17:527:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:528:17:528:20 | access to local variable span : Span<T> [element] : A | semmle.label | access to local variable span : Span<T> [element] : A |
| CollectionFlow.cs:528:24:528:41 | object creation of type Span<A> : Span<T> [element] : A | semmle.label | object creation of type Span<A> : Span<T> [element] : A |
| CollectionFlow.cs:528:40:528:40 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:529:13:529:15 | access to local variable arr : T[] [element] : A | semmle.label | access to local variable arr : T[] [element] : A |
| CollectionFlow.cs:529:19:529:22 | access to local variable span : Span<T> [element] : A | semmle.label | access to local variable span : Span<T> [element] : A |
| CollectionFlow.cs:529:19:529:32 | call to method ToArray : T[] [element] : A | semmle.label | call to method ToArray : T[] [element] : A |
| CollectionFlow.cs:530:14:530:16 | access to local variable arr : T[] [element] : A | semmle.label | access to local variable arr : T[] [element] : A |
| CollectionFlow.cs:530:14:530:19 | access to array element | semmle.label | access to array element |
| CollectionFlow.cs:535:13:535:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:535:17:535:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:536:9:536:14 | [post] access to parameter target : Span<T> [element] : A | semmle.label | [post] access to parameter target : Span<T> [element] : A |
| CollectionFlow.cs:536:21:536:21 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:537:14:537:19 | access to parameter target : Span<T> [element] : A | semmle.label | access to parameter target : Span<T> [element] : A |
| CollectionFlow.cs:537:14:537:22 | access to indexer | semmle.label | access to indexer |
| CollectionFlow.cs:542:13:542:18 | access to local variable source : Span<T> [element] : A | semmle.label | access to local variable source : Span<T> [element] : A |
| CollectionFlow.cs:542:22:542:51 | object creation of type Span<A> : Span<T> [element] : A | semmle.label | object creation of type Span<A> : Span<T> [element] : A |
| CollectionFlow.cs:542:34:542:50 | array creation of type A[] : null [element] : A | semmle.label | array creation of type A[] : null [element] : A |
| CollectionFlow.cs:542:40:542:50 | { ..., ... } : null [element] : A | semmle.label | { ..., ... } : null [element] : A |
| CollectionFlow.cs:542:42:542:48 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:543:9:543:14 | access to local variable source : Span<T> [element] : A | semmle.label | access to local variable source : Span<T> [element] : A |
| CollectionFlow.cs:543:23:543:28 | [post] access to parameter target : Span<T> [element] : A | semmle.label | [post] access to parameter target : Span<T> [element] : A |
| CollectionFlow.cs:544:14:544:19 | access to parameter target : Span<T> [element] : A | semmle.label | access to parameter target : Span<T> [element] : A |
| CollectionFlow.cs:544:14:544:22 | access to indexer | semmle.label | access to indexer |
| CollectionFlow.cs:549:13:549:13 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:549:17:549:23 | object creation of type A : A | semmle.label | object creation of type A : A |
| CollectionFlow.cs:550:25:550:28 | access to local variable span : ReadOnlySpan<T> [element] : A | semmle.label | access to local variable span : ReadOnlySpan<T> [element] : A |
| CollectionFlow.cs:550:32:550:63 | object creation of type ReadOnlySpan<A> : ReadOnlySpan<T> [element] : A | semmle.label | object creation of type ReadOnlySpan<A> : ReadOnlySpan<T> [element] : A |
| CollectionFlow.cs:550:52:550:62 | array creation of type A[] : null [element] : A | semmle.label | array creation of type A[] : null [element] : A |
| CollectionFlow.cs:550:58:550:62 | { ..., ... } : null [element] : A | semmle.label | { ..., ... } : null [element] : A |
| CollectionFlow.cs:550:60:550:60 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:551:14:551:17 | access to local variable span : ReadOnlySpan<T> [element] : A | semmle.label | access to local variable span : ReadOnlySpan<T> [element] : A |
| CollectionFlow.cs:551:14:551:20 | access to indexer | semmle.label | access to indexer |
subpaths
| CollectionFlow.cs:50:20:50:22 | access to local variable as : null [element] : A | CollectionFlow.cs:24:34:24:35 | ts : null [element] : A | CollectionFlow.cs:24:41:24:45 | access to array element : A | CollectionFlow.cs:50:14:50:23 | call to method First<A> |
| CollectionFlow.cs:68:20:68:23 | access to field As : A[] [element] : A | CollectionFlow.cs:24:34:24:35 | ts : A[] [element] : A | CollectionFlow.cs:24:41:24:45 | access to array element : A | CollectionFlow.cs:68:14:68:24 | call to method First<A> |
| CollectionFlow.cs:86:19:86:22 | access to field As : A[] [element] : A | CollectionFlow.cs:26:33:26:34 | ts : A[] [element] : A | CollectionFlow.cs:26:40:26:45 | access to array element : A | CollectionFlow.cs:86:14:86:23 | call to method Last<A> |
| CollectionFlow.cs:96:20:96:22 | access to local variable as : A[] [element] : A | CollectionFlow.cs:24:34:24:35 | ts : A[] [element] : A | CollectionFlow.cs:24:41:24:45 | access to array element : A | CollectionFlow.cs:96:14:96:23 | call to method First<A> |
| CollectionFlow.cs:116:19:116:21 | access to local variable as : A[] [element] : A | CollectionFlow.cs:26:33:26:34 | ts : A[] [element] : A | CollectionFlow.cs:26:40:26:45 | access to array element : A | CollectionFlow.cs:116:14:116:22 | call to method Last<A> |
| CollectionFlow.cs:126:24:126:27 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:28:43:28:46 | list : List<T> [element] : A | CollectionFlow.cs:28:52:28:58 | access to indexer : A | CollectionFlow.cs:126:14:126:28 | call to method ListFirst<A> |
| CollectionFlow.cs:144:24:144:27 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:28:43:28:46 | list : List<T> [element] : A | CollectionFlow.cs:28:52:28:58 | access to indexer : A | CollectionFlow.cs:144:14:144:28 | call to method ListFirst<A> |
| CollectionFlow.cs:162:24:162:27 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:28:43:28:46 | list : List<T> [element] : A | CollectionFlow.cs:28:52:28:58 | access to indexer : A | CollectionFlow.cs:162:14:162:28 | call to method ListFirst<A> |
| CollectionFlow.cs:181:28:181:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:58:30:61 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:67:30:73 | access to indexer : A | CollectionFlow.cs:181:14:181:32 | call to method DictIndexZero<A> |
| CollectionFlow.cs:182:29:182:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:32:59:32:62 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:32:68:32:85 | access to property Value : A | CollectionFlow.cs:182:14:182:33 | call to method DictFirstValue<A> |
| CollectionFlow.cs:183:30:183:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:34:60:34:63 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:34:69:34:87 | call to method First<T> : A | CollectionFlow.cs:183:14:183:34 | call to method DictValuesFirst<A> |
| CollectionFlow.cs:203:28:203:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:58:30:61 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:67:30:73 | access to indexer : A | CollectionFlow.cs:203:14:203:32 | call to method DictIndexZero<A> |
| CollectionFlow.cs:204:29:204:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:32:59:32:62 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:32:68:32:85 | access to property Value : A | CollectionFlow.cs:204:14:204:33 | call to method DictFirstValue<A> |
| CollectionFlow.cs:205:30:205:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:34:60:34:63 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:34:69:34:87 | call to method First<T> : A | CollectionFlow.cs:205:14:205:34 | call to method DictValuesFirst<A> |
| CollectionFlow.cs:224:28:224:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:58:30:61 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:67:30:73 | access to indexer : A | CollectionFlow.cs:224:14:224:32 | call to method DictIndexZero<A> |
| CollectionFlow.cs:225:29:225:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:32:59:32:62 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:32:68:32:85 | access to property Value : A | CollectionFlow.cs:225:14:225:33 | call to method DictFirstValue<A> |
| CollectionFlow.cs:226:30:226:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:34:60:34:63 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:34:69:34:87 | call to method First<T> : A | CollectionFlow.cs:226:14:226:34 | call to method DictValuesFirst<A> |
| CollectionFlow.cs:246:28:246:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:36:58:36:61 | dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:36:67:36:83 | call to method First<T> : A | CollectionFlow.cs:246:14:246:32 | call to method DictKeysFirst<A> |
| CollectionFlow.cs:247:27:247:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:38:57:38:60 | dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:38:66:38:81 | access to property Key : A | CollectionFlow.cs:247:14:247:31 | call to method DictFirstKey<A> |
| CollectionFlow.cs:265:28:265:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:36:58:36:61 | dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:36:67:36:83 | call to method First<T> : A | CollectionFlow.cs:265:14:265:32 | call to method DictKeysFirst<A> |
| CollectionFlow.cs:266:27:266:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:38:57:38:60 | dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:38:66:38:81 | access to property Key : A | CollectionFlow.cs:266:14:266:31 | call to method DictFirstKey<A> |
| CollectionFlow.cs:359:23:359:23 | access to local variable a : A | CollectionFlow.cs:353:32:353:38 | element : A | CollectionFlow.cs:353:23:353:27 | array [Return] : A[] [element] : A | CollectionFlow.cs:359:18:359:20 | [post] access to local variable as : A[] [element] : A |
| CollectionFlow.cs:362:20:362:22 | access to local variable as : A[] [element] : A | CollectionFlow.cs:24:34:24:35 | ts : A[] [element] : A | CollectionFlow.cs:24:41:24:45 | access to array element : A | CollectionFlow.cs:362:14:362:23 | call to method First<A> |
| CollectionFlow.cs:381:23:381:23 | access to local variable a : A | CollectionFlow.cs:375:34:375:40 | element : A | CollectionFlow.cs:375:26:375:29 | list [Return] : List<T> [element] : A | CollectionFlow.cs:381:17:381:20 | [post] access to local variable list : List<T> [element] : A |
| CollectionFlow.cs:384:24:384:27 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:28:43:28:46 | list : List<T> [element] : A | CollectionFlow.cs:28:52:28:58 | access to indexer : A | CollectionFlow.cs:384:14:384:28 | call to method ListFirst<A> |
#select
| CollectionFlow.cs:46:17:46:23 | object creation of type A : A | CollectionFlow.cs:46:17:46:23 | object creation of type A : A | CollectionFlow.cs:14:52:14:56 | access to array element | $@ | CollectionFlow.cs:14:52:14:56 | access to array element | access to array element |
| CollectionFlow.cs:46:17:46:23 | object creation of type A : A | CollectionFlow.cs:46:17:46:23 | object creation of type A : A | CollectionFlow.cs:48:14:48:19 | access to array element | $@ | CollectionFlow.cs:48:14:48:19 | access to array element | access to array element |
| CollectionFlow.cs:46:17:46:23 | object creation of type A : A | CollectionFlow.cs:46:17:46:23 | object creation of type A : A | CollectionFlow.cs:50:14:50:23 | call to method First<A> | $@ | CollectionFlow.cs:50:14:50:23 | call to method First<A> | call to method First<A> |
| CollectionFlow.cs:64:17:64:23 | object creation of type A : A | CollectionFlow.cs:64:17:64:23 | object creation of type A : A | CollectionFlow.cs:14:52:14:56 | access to array element | $@ | CollectionFlow.cs:14:52:14:56 | access to array element | access to array element |
| CollectionFlow.cs:64:17:64:23 | object creation of type A : A | CollectionFlow.cs:64:17:64:23 | object creation of type A : A | CollectionFlow.cs:66:14:66:20 | access to array element | $@ | CollectionFlow.cs:66:14:66:20 | access to array element | access to array element |
| CollectionFlow.cs:64:17:64:23 | object creation of type A : A | CollectionFlow.cs:64:17:64:23 | object creation of type A : A | CollectionFlow.cs:68:14:68:24 | call to method First<A> | $@ | CollectionFlow.cs:68:14:68:24 | call to method First<A> | call to method First<A> |
| CollectionFlow.cs:82:17:82:23 | object creation of type A : A | CollectionFlow.cs:82:17:82:23 | object creation of type A : A | CollectionFlow.cs:16:56:16:61 | access to array element | $@ | CollectionFlow.cs:16:56:16:61 | access to array element | access to array element |
| CollectionFlow.cs:82:17:82:23 | object creation of type A : A | CollectionFlow.cs:82:17:82:23 | object creation of type A : A | CollectionFlow.cs:84:14:84:21 | access to array element | $@ | CollectionFlow.cs:84:14:84:21 | access to array element | access to array element |
| CollectionFlow.cs:82:17:82:23 | object creation of type A : A | CollectionFlow.cs:82:17:82:23 | object creation of type A : A | CollectionFlow.cs:86:14:86:23 | call to method Last<A> | $@ | CollectionFlow.cs:86:14:86:23 | call to method Last<A> | call to method Last<A> |
| CollectionFlow.cs:91:17:91:23 | object creation of type A : A | CollectionFlow.cs:91:17:91:23 | object creation of type A : A | CollectionFlow.cs:14:52:14:56 | access to array element | $@ | CollectionFlow.cs:14:52:14:56 | access to array element | access to array element |
| CollectionFlow.cs:91:17:91:23 | object creation of type A : A | CollectionFlow.cs:91:17:91:23 | object creation of type A : A | CollectionFlow.cs:94:14:94:19 | access to array element | $@ | CollectionFlow.cs:94:14:94:19 | access to array element | access to array element |
| CollectionFlow.cs:91:17:91:23 | object creation of type A : A | CollectionFlow.cs:91:17:91:23 | object creation of type A : A | CollectionFlow.cs:96:14:96:23 | call to method First<A> | $@ | CollectionFlow.cs:96:14:96:23 | call to method First<A> | call to method First<A> |
| CollectionFlow.cs:111:17:111:23 | object creation of type A : A | CollectionFlow.cs:111:17:111:23 | object creation of type A : A | CollectionFlow.cs:16:56:16:61 | access to array element | $@ | CollectionFlow.cs:16:56:16:61 | access to array element | access to array element |
| CollectionFlow.cs:111:17:111:23 | object creation of type A : A | CollectionFlow.cs:111:17:111:23 | object creation of type A : A | CollectionFlow.cs:114:14:114:20 | access to array element | $@ | CollectionFlow.cs:114:14:114:20 | access to array element | access to array element |
| CollectionFlow.cs:111:17:111:23 | object creation of type A : A | CollectionFlow.cs:111:17:111:23 | object creation of type A : A | CollectionFlow.cs:116:14:116:22 | call to method Last<A> | $@ | CollectionFlow.cs:116:14:116:22 | call to method Last<A> | call to method Last<A> |
| CollectionFlow.cs:121:17:121:23 | object creation of type A : A | CollectionFlow.cs:121:17:121:23 | object creation of type A : A | CollectionFlow.cs:18:63:18:69 | access to indexer | $@ | CollectionFlow.cs:18:63:18:69 | access to indexer | access to indexer |
| CollectionFlow.cs:121:17:121:23 | object creation of type A : A | CollectionFlow.cs:121:17:121:23 | object creation of type A : A | CollectionFlow.cs:124:14:124:20 | access to indexer | $@ | CollectionFlow.cs:124:14:124:20 | access to indexer | access to indexer |
| CollectionFlow.cs:121:17:121:23 | object creation of type A : A | CollectionFlow.cs:121:17:121:23 | object creation of type A : A | CollectionFlow.cs:126:14:126:28 | call to method ListFirst<A> | $@ | CollectionFlow.cs:126:14:126:28 | call to method ListFirst<A> | call to method ListFirst<A> |
| CollectionFlow.cs:140:17:140:23 | object creation of type A : A | CollectionFlow.cs:140:17:140:23 | object creation of type A : A | CollectionFlow.cs:18:63:18:69 | access to indexer | $@ | CollectionFlow.cs:18:63:18:69 | access to indexer | access to indexer |
| CollectionFlow.cs:140:17:140:23 | object creation of type A : A | CollectionFlow.cs:140:17:140:23 | object creation of type A : A | CollectionFlow.cs:142:14:142:20 | access to indexer | $@ | CollectionFlow.cs:142:14:142:20 | access to indexer | access to indexer |
| CollectionFlow.cs:140:17:140:23 | object creation of type A : A | CollectionFlow.cs:140:17:140:23 | object creation of type A : A | CollectionFlow.cs:144:14:144:28 | call to method ListFirst<A> | $@ | CollectionFlow.cs:144:14:144:28 | call to method ListFirst<A> | call to method ListFirst<A> |
| CollectionFlow.cs:157:17:157:23 | object creation of type A : A | CollectionFlow.cs:157:17:157:23 | object creation of type A : A | CollectionFlow.cs:18:63:18:69 | access to indexer | $@ | CollectionFlow.cs:18:63:18:69 | access to indexer | access to indexer |
| CollectionFlow.cs:157:17:157:23 | object creation of type A : A | CollectionFlow.cs:157:17:157:23 | object creation of type A : A | CollectionFlow.cs:160:14:160:20 | access to indexer | $@ | CollectionFlow.cs:160:14:160:20 | access to indexer | access to indexer |
| CollectionFlow.cs:157:17:157:23 | object creation of type A : A | CollectionFlow.cs:157:17:157:23 | object creation of type A : A | CollectionFlow.cs:162:14:162:28 | call to method ListFirst<A> | $@ | CollectionFlow.cs:162:14:162:28 | call to method ListFirst<A> | call to method ListFirst<A> |
| CollectionFlow.cs:176:17:176:23 | object creation of type A : A | CollectionFlow.cs:176:17:176:23 | object creation of type A : A | CollectionFlow.cs:20:75:20:81 | access to indexer | $@ | CollectionFlow.cs:20:75:20:81 | access to indexer | access to indexer |
| CollectionFlow.cs:176:17:176:23 | object creation of type A : A | CollectionFlow.cs:176:17:176:23 | object creation of type A : A | CollectionFlow.cs:179:14:179:20 | access to indexer | $@ | CollectionFlow.cs:179:14:179:20 | access to indexer | access to indexer |
| CollectionFlow.cs:176:17:176:23 | object creation of type A : A | CollectionFlow.cs:176:17:176:23 | object creation of type A : A | CollectionFlow.cs:181:14:181:32 | call to method DictIndexZero<A> | $@ | CollectionFlow.cs:181:14:181:32 | call to method DictIndexZero<A> | call to method DictIndexZero<A> |
| CollectionFlow.cs:176:17:176:23 | object creation of type A : A | CollectionFlow.cs:176:17:176:23 | object creation of type A : A | CollectionFlow.cs:182:14:182:33 | call to method DictFirstValue<A> | $@ | CollectionFlow.cs:182:14:182:33 | call to method DictFirstValue<A> | call to method DictFirstValue<A> |
| CollectionFlow.cs:176:17:176:23 | object creation of type A : A | CollectionFlow.cs:176:17:176:23 | object creation of type A : A | CollectionFlow.cs:183:14:183:34 | call to method DictValuesFirst<A> | $@ | CollectionFlow.cs:183:14:183:34 | call to method DictValuesFirst<A> | call to method DictValuesFirst<A> |
| CollectionFlow.cs:199:17:199:23 | object creation of type A : A | CollectionFlow.cs:199:17:199:23 | object creation of type A : A | CollectionFlow.cs:20:75:20:81 | access to indexer | $@ | CollectionFlow.cs:20:75:20:81 | access to indexer | access to indexer |
| CollectionFlow.cs:199:17:199:23 | object creation of type A : A | CollectionFlow.cs:199:17:199:23 | object creation of type A : A | CollectionFlow.cs:201:14:201:20 | access to indexer | $@ | CollectionFlow.cs:201:14:201:20 | access to indexer | access to indexer |
| CollectionFlow.cs:199:17:199:23 | object creation of type A : A | CollectionFlow.cs:199:17:199:23 | object creation of type A : A | CollectionFlow.cs:203:14:203:32 | call to method DictIndexZero<A> | $@ | CollectionFlow.cs:203:14:203:32 | call to method DictIndexZero<A> | call to method DictIndexZero<A> |
| CollectionFlow.cs:199:17:199:23 | object creation of type A : A | CollectionFlow.cs:199:17:199:23 | object creation of type A : A | CollectionFlow.cs:204:14:204:33 | call to method DictFirstValue<A> | $@ | CollectionFlow.cs:204:14:204:33 | call to method DictFirstValue<A> | call to method DictFirstValue<A> |
| CollectionFlow.cs:199:17:199:23 | object creation of type A : A | CollectionFlow.cs:199:17:199:23 | object creation of type A : A | CollectionFlow.cs:205:14:205:34 | call to method DictValuesFirst<A> | $@ | CollectionFlow.cs:205:14:205:34 | call to method DictValuesFirst<A> | call to method DictValuesFirst<A> |
| CollectionFlow.cs:220:17:220:23 | object creation of type A : A | CollectionFlow.cs:220:17:220:23 | object creation of type A : A | CollectionFlow.cs:20:75:20:81 | access to indexer | $@ | CollectionFlow.cs:20:75:20:81 | access to indexer | access to indexer |
| CollectionFlow.cs:220:17:220:23 | object creation of type A : A | CollectionFlow.cs:220:17:220:23 | object creation of type A : A | CollectionFlow.cs:222:14:222:20 | access to indexer | $@ | CollectionFlow.cs:222:14:222:20 | access to indexer | access to indexer |
| CollectionFlow.cs:220:17:220:23 | object creation of type A : A | CollectionFlow.cs:220:17:220:23 | object creation of type A : A | CollectionFlow.cs:224:14:224:32 | call to method DictIndexZero<A> | $@ | CollectionFlow.cs:224:14:224:32 | call to method DictIndexZero<A> | call to method DictIndexZero<A> |
| CollectionFlow.cs:220:17:220:23 | object creation of type A : A | CollectionFlow.cs:220:17:220:23 | object creation of type A : A | CollectionFlow.cs:225:14:225:33 | call to method DictFirstValue<A> | $@ | CollectionFlow.cs:225:14:225:33 | call to method DictFirstValue<A> | call to method DictFirstValue<A> |
| CollectionFlow.cs:220:17:220:23 | object creation of type A : A | CollectionFlow.cs:220:17:220:23 | object creation of type A : A | CollectionFlow.cs:226:14:226:34 | call to method DictValuesFirst<A> | $@ | CollectionFlow.cs:226:14:226:34 | call to method DictValuesFirst<A> | call to method DictValuesFirst<A> |
| CollectionFlow.cs:242:17:242:23 | object creation of type A : A | CollectionFlow.cs:242:17:242:23 | object creation of type A : A | CollectionFlow.cs:22:73:22:89 | call to method First<T> | $@ | CollectionFlow.cs:22:73:22:89 | call to method First<T> | call to method First<T> |
| CollectionFlow.cs:242:17:242:23 | object creation of type A : A | CollectionFlow.cs:242:17:242:23 | object creation of type A : A | CollectionFlow.cs:244:14:244:30 | call to method First<A> | $@ | CollectionFlow.cs:244:14:244:30 | call to method First<A> | call to method First<A> |
| CollectionFlow.cs:242:17:242:23 | object creation of type A : A | CollectionFlow.cs:242:17:242:23 | object creation of type A : A | CollectionFlow.cs:246:14:246:32 | call to method DictKeysFirst<A> | $@ | CollectionFlow.cs:246:14:246:32 | call to method DictKeysFirst<A> | call to method DictKeysFirst<A> |
| CollectionFlow.cs:242:17:242:23 | object creation of type A : A | CollectionFlow.cs:242:17:242:23 | object creation of type A : A | CollectionFlow.cs:247:14:247:31 | call to method DictFirstKey<A> | $@ | CollectionFlow.cs:247:14:247:31 | call to method DictFirstKey<A> | call to method DictFirstKey<A> |
| CollectionFlow.cs:261:17:261:23 | object creation of type A : A | CollectionFlow.cs:261:17:261:23 | object creation of type A : A | CollectionFlow.cs:22:73:22:89 | call to method First<T> | $@ | CollectionFlow.cs:22:73:22:89 | call to method First<T> | call to method First<T> |
| CollectionFlow.cs:261:17:261:23 | object creation of type A : A | CollectionFlow.cs:261:17:261:23 | object creation of type A : A | CollectionFlow.cs:263:14:263:30 | call to method First<A> | $@ | CollectionFlow.cs:263:14:263:30 | call to method First<A> | call to method First<A> |
| CollectionFlow.cs:261:17:261:23 | object creation of type A : A | CollectionFlow.cs:261:17:261:23 | object creation of type A : A | CollectionFlow.cs:265:14:265:32 | call to method DictKeysFirst<A> | $@ | CollectionFlow.cs:265:14:265:32 | call to method DictKeysFirst<A> | call to method DictKeysFirst<A> |
| CollectionFlow.cs:261:17:261:23 | object creation of type A : A | CollectionFlow.cs:261:17:261:23 | object creation of type A : A | CollectionFlow.cs:266:14:266:31 | call to method DictFirstKey<A> | $@ | CollectionFlow.cs:266:14:266:31 | call to method DictFirstKey<A> | call to method DictFirstKey<A> |
| CollectionFlow.cs:280:17:280:23 | object creation of type A : A | CollectionFlow.cs:280:17:280:23 | object creation of type A : A | CollectionFlow.cs:283:18:283:18 | access to local variable x | $@ | CollectionFlow.cs:283:18:283:18 | access to local variable x | access to local variable x |
| CollectionFlow.cs:295:17:295:23 | object creation of type A : A | CollectionFlow.cs:295:17:295:23 | object creation of type A : A | CollectionFlow.cs:299:18:299:35 | access to property Current | $@ | CollectionFlow.cs:299:18:299:35 | access to property Current | access to property Current |
| CollectionFlow.cs:312:17:312:23 | object creation of type A : A | CollectionFlow.cs:312:17:312:23 | object creation of type A : A | CollectionFlow.cs:317:18:317:35 | access to property Current | $@ | CollectionFlow.cs:317:18:317:35 | access to property Current | access to property Current |
| CollectionFlow.cs:331:17:331:23 | object creation of type A : A | CollectionFlow.cs:331:17:331:23 | object creation of type A : A | CollectionFlow.cs:336:18:336:24 | access to property Key | $@ | CollectionFlow.cs:336:18:336:24 | access to property Key | access to property Key |
| CollectionFlow.cs:357:17:357:23 | object creation of type A : A | CollectionFlow.cs:357:17:357:23 | object creation of type A : A | CollectionFlow.cs:14:52:14:56 | access to array element | $@ | CollectionFlow.cs:14:52:14:56 | access to array element | access to array element |
| CollectionFlow.cs:357:17:357:23 | object creation of type A : A | CollectionFlow.cs:357:17:357:23 | object creation of type A : A | CollectionFlow.cs:360:14:360:19 | access to array element | $@ | CollectionFlow.cs:360:14:360:19 | access to array element | access to array element |
| CollectionFlow.cs:357:17:357:23 | object creation of type A : A | CollectionFlow.cs:357:17:357:23 | object creation of type A : A | CollectionFlow.cs:362:14:362:23 | call to method First<A> | $@ | CollectionFlow.cs:362:14:362:23 | call to method First<A> | call to method First<A> |
| CollectionFlow.cs:379:17:379:23 | object creation of type A : A | CollectionFlow.cs:379:17:379:23 | object creation of type A : A | CollectionFlow.cs:18:63:18:69 | access to indexer | $@ | CollectionFlow.cs:18:63:18:69 | access to indexer | access to indexer |
| CollectionFlow.cs:379:17:379:23 | object creation of type A : A | CollectionFlow.cs:379:17:379:23 | object creation of type A : A | CollectionFlow.cs:382:14:382:20 | access to indexer | $@ | CollectionFlow.cs:382:14:382:20 | access to indexer | access to indexer |
| CollectionFlow.cs:379:17:379:23 | object creation of type A : A | CollectionFlow.cs:379:17:379:23 | object creation of type A : A | CollectionFlow.cs:384:14:384:28 | call to method ListFirst<A> | $@ | CollectionFlow.cs:384:14:384:28 | call to method ListFirst<A> | call to method ListFirst<A> |
| CollectionFlow.cs:398:20:398:26 | object creation of type A : A | CollectionFlow.cs:398:20:398:26 | object creation of type A : A | CollectionFlow.cs:40:63:40:69 | access to array element | $@ | CollectionFlow.cs:40:63:40:69 | access to array element | access to array element |
| CollectionFlow.cs:399:26:399:32 | object creation of type A : A | CollectionFlow.cs:399:26:399:32 | object creation of type A : A | CollectionFlow.cs:40:63:40:69 | access to array element | $@ | CollectionFlow.cs:40:63:40:69 | access to array element | access to array element |
| CollectionFlow.cs:400:26:400:32 | object creation of type A : A | CollectionFlow.cs:400:26:400:32 | object creation of type A : A | CollectionFlow.cs:40:63:40:69 | access to array element | $@ | CollectionFlow.cs:40:63:40:69 | access to array element | access to array element |
| CollectionFlow.cs:401:30:401:36 | object creation of type A : A | CollectionFlow.cs:401:30:401:36 | object creation of type A : A | CollectionFlow.cs:40:63:40:69 | access to array element | $@ | CollectionFlow.cs:40:63:40:69 | access to array element | access to array element |
| CollectionFlow.cs:414:30:414:36 | object creation of type A : A | CollectionFlow.cs:414:30:414:36 | object creation of type A : A | CollectionFlow.cs:42:84:42:95 | call to method First<T> | $@ | CollectionFlow.cs:42:84:42:95 | call to method First<T> | call to method First<T> |
| CollectionFlow.cs:415:36:415:42 | object creation of type A : A | CollectionFlow.cs:415:36:415:42 | object creation of type A : A | CollectionFlow.cs:42:84:42:95 | call to method First<T> | $@ | CollectionFlow.cs:42:84:42:95 | call to method First<T> | call to method First<T> |
| CollectionFlow.cs:416:36:416:42 | object creation of type A : A | CollectionFlow.cs:416:36:416:42 | object creation of type A : A | CollectionFlow.cs:42:84:42:95 | call to method First<T> | $@ | CollectionFlow.cs:42:84:42:95 | call to method First<T> | call to method First<T> |
| CollectionFlow.cs:417:31:417:37 | object creation of type A : A | CollectionFlow.cs:417:31:417:37 | object creation of type A : A | CollectionFlow.cs:42:84:42:95 | call to method First<T> | $@ | CollectionFlow.cs:42:84:42:95 | call to method First<T> | call to method First<T> |
| CollectionFlow.cs:439:17:439:23 | object creation of type A : A | CollectionFlow.cs:439:17:439:23 | object creation of type A : A | CollectionFlow.cs:442:14:442:21 | access to array element | $@ | CollectionFlow.cs:442:14:442:21 | access to array element | access to array element |
| CollectionFlow.cs:460:17:460:23 | object creation of type A : A | CollectionFlow.cs:460:17:460:23 | object creation of type A : A | CollectionFlow.cs:462:14:462:21 | access to array element | $@ | CollectionFlow.cs:462:14:462:21 | access to array element | access to array element |
| CollectionFlow.cs:467:17:467:23 | object creation of type A : A | CollectionFlow.cs:467:17:467:23 | object creation of type A : A | CollectionFlow.cs:469:14:469:17 | access to indexer | $@ | CollectionFlow.cs:469:14:469:17 | access to indexer | access to indexer |
| CollectionFlow.cs:480:17:480:23 | object creation of type A : A | CollectionFlow.cs:480:17:480:23 | object creation of type A : A | CollectionFlow.cs:483:14:483:21 | access to array element | $@ | CollectionFlow.cs:483:14:483:21 | access to array element | access to array element |
| CollectionFlow.cs:520:17:520:23 | object creation of type A : A | CollectionFlow.cs:520:17:520:23 | object creation of type A : A | CollectionFlow.cs:522:14:522:20 | access to indexer | $@ | CollectionFlow.cs:522:14:522:20 | access to indexer | access to indexer |
| CollectionFlow.cs:527:17:527:23 | object creation of type A : A | CollectionFlow.cs:527:17:527:23 | object creation of type A : A | CollectionFlow.cs:530:14:530:19 | access to array element | $@ | CollectionFlow.cs:530:14:530:19 | access to array element | access to array element |
| CollectionFlow.cs:535:17:535:23 | object creation of type A : A | CollectionFlow.cs:535:17:535:23 | object creation of type A : A | CollectionFlow.cs:537:14:537:22 | access to indexer | $@ | CollectionFlow.cs:537:14:537:22 | access to indexer | access to indexer |
| CollectionFlow.cs:542:42:542:48 | object creation of type A : A | CollectionFlow.cs:542:42:542:48 | object creation of type A : A | CollectionFlow.cs:544:14:544:22 | access to indexer | $@ | CollectionFlow.cs:544:14:544:22 | access to indexer | access to indexer |
| CollectionFlow.cs:549:17:549:23 | object creation of type A : A | CollectionFlow.cs:549:17:549:23 | object creation of type A : A | CollectionFlow.cs:551:14:551:20 | access to indexer | $@ | CollectionFlow.cs:551:14:551:20 | access to indexer | access to indexer |

View File

@@ -2,20 +2,9 @@
* @kind path-problem
*/
import csharp
import CollectionFlowCommon
import utils.test.ProvenancePathGraph::ShowProvenance<ArrayFlow::PathNode, ArrayFlow::PathGraph>
module ArrayFlowConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node src) { src.asExpr() instanceof ObjectCreation }
predicate isSink(DataFlow::Node sink) {
exists(MethodCall mc |
mc.getTarget().hasUndecoratedName("Sink") and
mc.getAnArgument() = sink.asExpr()
)
}
}
module ArrayFlow = DataFlow::Global<ArrayFlowConfig>;
from ArrayFlow::PathNode source, ArrayFlow::PathNode sink

View File

@@ -550,4 +550,10 @@ public class CollectionFlow
ReadOnlySpan<A> span = new ReadOnlySpan<A>(new[] { a });
Sink(span[0]); // flow
}
public void ImplicitMapValueRead(Dictionary<int, A> dict) {
var a = new A();
dict[0] = a;
Sink(dict); // no taint flow
}
}

View File

@@ -0,0 +1,12 @@
import csharp
module ArrayFlowConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node src) { src.asExpr() instanceof ObjectCreation }
predicate isSink(DataFlow::Node sink) {
exists(MethodCall mc |
mc.getTarget().hasUndecoratedName("Sink") and
mc.getAnArgument() = sink.asExpr()
)
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
/**
* @kind path-problem
*/
import CollectionFlowCommon
import utils.test.ProvenancePathGraph::ShowProvenance<ArrayFlow::PathNode, ArrayFlow::PathGraph>
module ArrayFlow = TaintTracking::Global<ArrayFlowConfig>;
from ArrayFlow::PathNode source, ArrayFlow::PathNode sink
where ArrayFlow::flowPath(source, sink)
select source, source, sink, "$@", sink, sink.toString()