Merge pull request #18179 from aschackmull/dataflow/accesspath-notypes

Dataflow: Remove tracked types from Access Paths, track tainted object type, and tweak type pruning.
This commit is contained in:
Anders Schack-Mulligen
2024-12-05 09:58:36 +01:00
committed by GitHub
11 changed files with 435 additions and 1493 deletions

View File

@@ -0,0 +1,4 @@
---
category: minorAnalysis
---
* The data flow library has been updated to track types in a slightly different way: The type of the tainted data (which may be stored into fields, etc.) is tracked more precisely, while the types of intermediate containers for nested contents is tracked less precisely. This may have a slight effect on false positives for complex flow paths.

View File

@@ -249,9 +249,9 @@ edges
| CollectionFlow.cs:308:9:308:12 | [post] access to local variable list : List<T> [element, property Key] : A | CollectionFlow.cs:309:9:309:12 | access to local variable list : List<T> [element, property Key] : A | provenance | |
| CollectionFlow.cs:308:18:308:47 | object creation of type KeyValuePair<A,Int32> : KeyValuePair<T,T> [property Key] : A | CollectionFlow.cs:308:9:308:12 | [post] access to local variable list : List<T> [element, property Key] : A | provenance | MaD:3 |
| CollectionFlow.cs:308:43:308:43 | access to local variable a : A | CollectionFlow.cs:308:18:308:47 | object creation of type KeyValuePair<A,Int32> : KeyValuePair<T,T> [property Key] : A | provenance | MaD:13 |
| CollectionFlow.cs:309:9:309:12 | access to local variable list : List<T> [element, property Key] : A | CollectionFlow.cs:309:21:309:23 | kvp : KeyValuePair<T,T> [property Key] : A | provenance | MaD:18 |
| CollectionFlow.cs:309:21:309:23 | kvp : KeyValuePair<T,T> [property Key] : A | CollectionFlow.cs:311:18:311:20 | access to parameter kvp : KeyValuePair<T,T> [property Key] : A | provenance | |
| CollectionFlow.cs:311:18:311:20 | access to parameter kvp : KeyValuePair<T,T> [property Key] : A | CollectionFlow.cs:311:18:311:24 | access to property Key | provenance | |
| CollectionFlow.cs:309:9:309:12 | access to local variable list : List<T> [element, property Key] : A | CollectionFlow.cs:309:21:309:23 | kvp : KeyValuePair<A,Int32> [property Key] : A | provenance | MaD:18 |
| CollectionFlow.cs:309:21:309:23 | kvp : KeyValuePair<A,Int32> [property Key] : A | CollectionFlow.cs:311:18:311:20 | access to parameter kvp : KeyValuePair<A,Int32> [property Key] : A | provenance | |
| CollectionFlow.cs:311:18:311:20 | access to parameter kvp : KeyValuePair<A,Int32> [property Key] : A | CollectionFlow.cs:311:18:311:24 | access to property Key | provenance | |
| CollectionFlow.cs:328:32:328:38 | element : A | CollectionFlow.cs:328:55:328:61 | access to parameter element : A | provenance | |
| CollectionFlow.cs:328:44:328:48 | [post] access to parameter array : A[] [element] : A | CollectionFlow.cs:328:23:328:27 | array [Return] : A[] [element] : A | provenance | |
| CollectionFlow.cs:328:55:328:61 | access to parameter element : A | CollectionFlow.cs:328:44:328:48 | [post] access to parameter array : A[] [element] : A | provenance | |
@@ -559,8 +559,8 @@ nodes
| CollectionFlow.cs:308:18:308: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:308:43:308:43 | access to local variable a : A | semmle.label | access to local variable a : A |
| CollectionFlow.cs:309:9:309: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:309:21:309:23 | kvp : KeyValuePair<T,T> [property Key] : A | semmle.label | kvp : KeyValuePair<T,T> [property Key] : A |
| CollectionFlow.cs:311:18:311:20 | access to parameter kvp : KeyValuePair<T,T> [property Key] : A | semmle.label | access to parameter kvp : KeyValuePair<T,T> [property Key] : A |
| CollectionFlow.cs:309:21:309:23 | kvp : KeyValuePair<A,Int32> [property Key] : A | semmle.label | kvp : KeyValuePair<A,Int32> [property Key] : A |
| CollectionFlow.cs:311:18:311: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:311:18:311:24 | access to property Key | semmle.label | access to property Key |
| CollectionFlow.cs:328:23:328:27 | array [Return] : A[] [element] : A | semmle.label | array [Return] : A[] [element] : A |
| CollectionFlow.cs:328:32:328:38 | element : A | semmle.label | element : A |

View File

@@ -812,10 +812,10 @@ edges
| H.cs:106:26:106:39 | (...) ... : A [field FieldA] : Object | H.cs:33:19:33:19 | a : A [field FieldA] : Object | provenance | |
| H.cs:106:26:106:39 | (...) ... : A [field FieldA] : Object | H.cs:106:16:106:40 | call to method Transform : B [field FieldB] : Object | provenance | |
| H.cs:106:26:106:39 | (...) ... : A [field FieldA] : Object | H.cs:106:16:106:40 | call to method Transform : B [field FieldB] : Object | provenance | |
| H.cs:106:29:106:32 | access to local variable temp : B [field FieldB, field FieldA] : Object | H.cs:106:29:106:39 | access to field FieldB : A [field FieldA] : Object | provenance | |
| H.cs:106:29:106:32 | access to local variable temp : B [field FieldB, field FieldA] : Object | H.cs:106:29:106:39 | access to field FieldB : A [field FieldA] : Object | provenance | |
| H.cs:106:29:106:39 | access to field FieldB : A [field FieldA] : Object | H.cs:106:26:106:39 | (...) ... : A [field FieldA] : Object | provenance | |
| H.cs:106:29:106:39 | access to field FieldB : A [field FieldA] : Object | H.cs:106:26:106:39 | (...) ... : A [field FieldA] : Object | provenance | |
| H.cs:106:29:106:32 | access to local variable temp : B [field FieldB, field FieldA] : Object | H.cs:106:29:106:39 | access to field FieldB : Object [field FieldA] : Object | provenance | |
| H.cs:106:29:106:32 | access to local variable temp : B [field FieldB, field FieldA] : Object | H.cs:106:29:106:39 | access to field FieldB : Object [field FieldA] : Object | provenance | |
| H.cs:106:29:106:39 | access to field FieldB : Object [field FieldA] : Object | H.cs:106:26:106:39 | (...) ... : A [field FieldA] : Object | provenance | |
| H.cs:106:29:106:39 | access to field FieldB : Object [field FieldA] : Object | H.cs:106:26:106:39 | (...) ... : A [field FieldA] : Object | provenance | |
| H.cs:112:9:112:9 | [post] access to local variable a : A [field FieldA] : Object | H.cs:113:31:113:31 | access to local variable a : A [field FieldA] : Object | provenance | |
| H.cs:112:9:112:9 | [post] access to local variable a : A [field FieldA] : Object | H.cs:113:31:113:31 | access to local variable a : A [field FieldA] : Object | provenance | |
| H.cs:112:20:112:36 | call to method Source<Object> : Object | H.cs:112:9:112:9 | [post] access to local variable a : A [field FieldA] : Object | provenance | |
@@ -908,14 +908,14 @@ edges
| H.cs:165:17:165:27 | (...) ... : B | H.cs:165:13:165:13 | access to local variable b : B | provenance | |
| H.cs:165:17:165:27 | (...) ... : B [field FieldB] : Object | H.cs:165:13:165:13 | access to local variable b : B [field FieldB] : Object | provenance | |
| H.cs:165:17:165:27 | (...) ... : B [field FieldB] : Object | H.cs:165:13:165:13 | access to local variable b : B [field FieldB] : Object | provenance | |
| H.cs:165:20:165:20 | access to local variable a : A [field FieldA, field FieldB] : Object | H.cs:165:20:165:27 | access to field FieldA : B [field FieldB] : Object | provenance | |
| H.cs:165:20:165:20 | access to local variable a : A [field FieldA, field FieldB] : Object | H.cs:165:20:165:27 | access to field FieldA : B [field FieldB] : Object | provenance | |
| H.cs:165:20:165:20 | access to local variable a : A [field FieldA, field FieldB] : Object | H.cs:165:20:165:27 | access to field FieldA : Object [field FieldB] : Object | provenance | |
| H.cs:165:20:165:20 | access to local variable a : A [field FieldA, field FieldB] : Object | H.cs:165:20:165:27 | access to field FieldA : Object [field FieldB] : Object | provenance | |
| H.cs:165:20:165:20 | access to local variable a : A [field FieldA] : B | H.cs:165:20:165:27 | access to field FieldA : B | provenance | |
| H.cs:165:20:165:20 | access to local variable a : A [field FieldA] : B | H.cs:165:20:165:27 | access to field FieldA : B | provenance | |
| H.cs:165:20:165:27 | access to field FieldA : B | H.cs:165:17:165:27 | (...) ... : B | provenance | |
| H.cs:165:20:165:27 | access to field FieldA : B | H.cs:165:17:165:27 | (...) ... : B | provenance | |
| H.cs:165:20:165:27 | access to field FieldA : B [field FieldB] : Object | H.cs:165:17:165:27 | (...) ... : B [field FieldB] : Object | provenance | |
| H.cs:165:20:165:27 | access to field FieldA : B [field FieldB] : Object | H.cs:165:17:165:27 | (...) ... : B [field FieldB] : Object | provenance | |
| H.cs:165:20:165:27 | access to field FieldA : Object [field FieldB] : Object | H.cs:165:17:165:27 | (...) ... : B [field FieldB] : Object | provenance | |
| H.cs:165:20:165:27 | access to field FieldA : Object [field FieldB] : Object | H.cs:165:17:165:27 | (...) ... : B [field FieldB] : Object | provenance | |
| H.cs:167:14:167:14 | access to local variable b : B [field FieldB] : Object | H.cs:167:14:167:21 | access to field FieldB | provenance | |
| H.cs:167:14:167:14 | access to local variable b : B [field FieldB] : Object | H.cs:167:14:167:21 | access to field FieldB | provenance | |
| I.cs:5:12:5:12 | this [Return] : I [field Field1] : Object | I.cs:21:13:21:19 | object creation of type I : I [field Field1] : Object | provenance | |
@@ -2081,8 +2081,8 @@ nodes
| H.cs:106:26:106:39 | (...) ... : A [field FieldA] : Object | semmle.label | (...) ... : A [field FieldA] : Object |
| H.cs:106:29:106:32 | access to local variable temp : B [field FieldB, field FieldA] : Object | semmle.label | access to local variable temp : B [field FieldB, field FieldA] : Object |
| H.cs:106:29:106:32 | access to local variable temp : B [field FieldB, field FieldA] : Object | semmle.label | access to local variable temp : B [field FieldB, field FieldA] : Object |
| H.cs:106:29:106:39 | access to field FieldB : A [field FieldA] : Object | semmle.label | access to field FieldB : A [field FieldA] : Object |
| H.cs:106:29:106:39 | access to field FieldB : A [field FieldA] : Object | semmle.label | access to field FieldB : A [field FieldA] : Object |
| H.cs:106:29:106:39 | access to field FieldB : Object [field FieldA] : Object | semmle.label | access to field FieldB : Object [field FieldA] : Object |
| H.cs:106:29:106:39 | access to field FieldB : Object [field FieldA] : Object | semmle.label | access to field FieldB : Object [field FieldA] : Object |
| H.cs:112:9:112:9 | [post] access to local variable a : A [field FieldA] : Object | semmle.label | [post] access to local variable a : A [field FieldA] : Object |
| H.cs:112:9:112:9 | [post] access to local variable a : A [field FieldA] : Object | semmle.label | [post] access to local variable a : A [field FieldA] : Object |
| H.cs:112:20:112:36 | call to method Source<Object> : Object | semmle.label | call to method Source<Object> : Object |
@@ -2181,8 +2181,8 @@ nodes
| H.cs:165:20:165:20 | access to local variable a : A [field FieldA] : B | semmle.label | access to local variable a : A [field FieldA] : B |
| H.cs:165:20:165:27 | access to field FieldA : B | semmle.label | access to field FieldA : B |
| H.cs:165:20:165:27 | access to field FieldA : B | semmle.label | access to field FieldA : B |
| H.cs:165:20:165:27 | access to field FieldA : B [field FieldB] : Object | semmle.label | access to field FieldA : B [field FieldB] : Object |
| H.cs:165:20:165:27 | access to field FieldA : B [field FieldB] : Object | semmle.label | access to field FieldA : B [field FieldB] : Object |
| H.cs:165:20:165:27 | access to field FieldA : Object [field FieldB] : Object | semmle.label | access to field FieldA : Object [field FieldB] : Object |
| H.cs:165:20:165:27 | access to field FieldA : Object [field FieldB] : Object | semmle.label | access to field FieldA : Object [field FieldB] : Object |
| H.cs:166:14:166:14 | access to local variable b | semmle.label | access to local variable b |
| H.cs:166:14:166:14 | access to local variable b | semmle.label | access to local variable b |
| H.cs:167:14:167:14 | access to local variable b : B [field FieldB] : Object | semmle.label | access to local variable b : B [field FieldB] : Object |

View File

@@ -136,8 +136,8 @@ edges
| Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | provenance | |
| Capture.cs:339:17:339:30 | "taint source" : String | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | provenance | |
| Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | provenance | |
| Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | Capture.cs:341:45:341:45 | access to local variable x | provenance | |
| Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | provenance | |
| Capture.cs:343:40:343:53 | access to local variable capturedLambda : Action [captured x] : String | Capture.cs:341:45:341:45 | access to local variable x | provenance | |
| Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | Capture.cs:343:40:343:53 | access to local variable capturedLambda : Action [captured x] : String | provenance | |
| Capture.cs:350:34:350:34 | a : (...) => ... [captured s] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured s] : String | provenance | |
| Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured sink39] : String | provenance | |
| Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured sink39] : String | provenance | |
@@ -639,7 +639,7 @@ nodes
| Capture.cs:339:17:339:30 | "taint source" : String | semmle.label | "taint source" : String |
| Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String |
| Capture.cs:341:45:341:45 | access to local variable x | semmle.label | access to local variable x |
| Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | semmle.label | access to local variable capturedLambda : (...) => ... [captured x] : String |
| Capture.cs:343:40:343:53 | access to local variable capturedLambda : Action [captured x] : String | semmle.label | access to local variable capturedLambda : Action [captured x] : String |
| Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String |
| Capture.cs:350:34:350:34 | a : (...) => ... [captured s] : String | semmle.label | a : (...) => ... [captured s] : String |
| Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | semmle.label | a : (...) => ... [captured sink39] : String |

View File

@@ -146,8 +146,8 @@ edges
| Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | provenance | |
| Capture.cs:339:17:339:30 | "taint source" : String | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | provenance | |
| Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | provenance | |
| Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | Capture.cs:341:45:341:45 | access to local variable x | provenance | |
| Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | provenance | |
| Capture.cs:343:40:343:53 | access to local variable capturedLambda : Action [captured x] : String | Capture.cs:341:45:341:45 | access to local variable x | provenance | |
| Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | Capture.cs:343:40:343:53 | access to local variable capturedLambda : Action [captured x] : String | provenance | |
| Capture.cs:350:34:350:34 | a : (...) => ... [captured s] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured s] : String | provenance | |
| Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured sink39] : String | provenance | |
| Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured sink39] : String | provenance | |
@@ -709,7 +709,7 @@ nodes
| Capture.cs:339:17:339:30 | "taint source" : String | semmle.label | "taint source" : String |
| Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String |
| Capture.cs:341:45:341:45 | access to local variable x | semmle.label | access to local variable x |
| Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | semmle.label | access to local variable capturedLambda : (...) => ... [captured x] : String |
| Capture.cs:343:40:343:53 | access to local variable capturedLambda : Action [captured x] : String | semmle.label | access to local variable capturedLambda : Action [captured x] : String |
| Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String |
| Capture.cs:350:34:350:34 | a : (...) => ... [captured s] : String | semmle.label | a : (...) => ... [captured s] : String |
| Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | semmle.label | a : (...) => ... [captured sink39] : String |

View File

@@ -0,0 +1,4 @@
---
category: minorAnalysis
---
* The data flow library has been updated to track types in a slightly different way: The type of the tainted data (which may be stored into fields, etc.) is tracked more precisely, while the types of intermediate containers for nested contents is tracked less precisely. This may have a slight effect on false positives for complex flow paths.

View File

@@ -12,12 +12,12 @@ edges
| B.java:13:5:13:6 | l1 : ArrayList [<element>] : String | B.java:13:16:13:16 | e : String | provenance | MaD:1 |
| B.java:13:5:13:6 | l1 : ArrayList [<element>] : String | B.java:13:16:13:29 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | provenance | MaD:1 |
| B.java:13:16:13:16 | e : String | B.java:13:28:13:28 | e : String | provenance | |
| B.java:13:16:13:29 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | B.java:13:16:13:29 | List<String> l2 : ArrayList [<element>] : String | provenance | |
| B.java:13:16:13:29 | List<String> l2 : ArrayList [<element>] : String | B.java:14:10:14:11 | l2 : ArrayList [<element>] : String | provenance | |
| B.java:13:16:13:29 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | B.java:13:16:13:29 | List<String> l2 : List [<element>] : String | provenance | |
| B.java:13:16:13:29 | List<String> l2 : List [<element>] : String | B.java:14:10:14:11 | l2 : List [<element>] : String | provenance | |
| B.java:13:21:13:22 | l2 [post update] : ArrayList [<element>] : String | B.java:13:21:13:22 | this : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | provenance | |
| B.java:13:21:13:22 | this : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | B.java:13:16:13:29 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | provenance | |
| B.java:13:28:13:28 | e : String | B.java:13:21:13:22 | l2 [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:14:10:14:11 | l2 : ArrayList [<element>] : String | B.java:14:10:14:18 | get(...) | provenance | MaD:3 |
| B.java:14:10:14:11 | l2 : List [<element>] : String | B.java:14:10:14:18 | get(...) | provenance | MaD:3 |
| B.java:22:26:22:26 | x : String | B.java:22:68:22:68 | x : String | provenance | |
| B.java:22:56:22:60 | other [post update] : B [bf1] : String | B.java:22:56:22:60 | this : new Consumer<String>(...) { ... } [B other, bf1] : String | provenance | |
| B.java:22:56:22:60 | this : new Consumer<String>(...) { ... } [B other, bf1] : String | B.java:22:26:22:71 | parameter this [Return] : new Consumer<String>(...) { ... } [B other, bf1] : String | provenance | |
@@ -33,10 +33,10 @@ edges
| B.java:39:5:39:7 | inp : HashMap [<map.key>] : String | B.java:39:18:39:20 | key : String | provenance | MaD:4 |
| B.java:39:5:39:7 | inp : HashMap [<map.value>] : String | B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | provenance | MaD:5 |
| B.java:39:5:39:7 | inp : HashMap [<map.value>] : String | B.java:39:23:39:27 | value : String | provenance | MaD:5 |
| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | B.java:39:17:39:56 | out : HashMap [<map.key>] : String | provenance | |
| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | B.java:39:17:39:56 | out : HashMap [<map.value>] : String | provenance | |
| B.java:39:17:39:56 | out : HashMap [<map.key>] : String | B.java:38:48:38:70 | out [Return] : HashMap [<map.key>] : String | provenance | |
| B.java:39:17:39:56 | out : HashMap [<map.value>] : String | B.java:38:48:38:70 | out [Return] : HashMap [<map.value>] : String | provenance | |
| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | B.java:39:17:39:56 | out : Map [<map.key>] : String | provenance | |
| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | B.java:39:17:39:56 | out : Map [<map.value>] : String | provenance | |
| B.java:39:17:39:56 | out : Map [<map.key>] : String | B.java:38:48:38:70 | out [Return] : Map [<map.key>] : String | provenance | |
| B.java:39:17:39:56 | out : Map [<map.value>] : String | B.java:38:48:38:70 | out [Return] : Map [<map.value>] : String | provenance | |
| B.java:39:18:39:20 | key : String | B.java:39:43:39:45 | key : String | provenance | |
| B.java:39:23:39:27 | value : String | B.java:39:48:39:52 | value : String | provenance | |
| B.java:39:35:39:37 | out [post update] : HashMap [<map.key>] : String | B.java:39:35:39:37 | this : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | provenance | |
@@ -94,30 +94,30 @@ edges
| B.java:103:5:103:6 | l2 [post update] : ArrayList [<element>, <element>] : String | B.java:107:5:107:6 | l2 : ArrayList [<element>, <element>] : String | provenance | |
| B.java:103:12:103:13 | l1 : ArrayList [<element>] : String | B.java:103:5:103:6 | l2 [post update] : ArrayList [<element>, <element>] : String | provenance | MaD:2 |
| B.java:104:16:104:32 | source(...) : String | B.java:107:16:111:6 | String s : String | provenance | |
| B.java:107:5:107:6 | l2 : ArrayList [<element>, <element>] : String | B.java:107:16:107:16 | l : ArrayList [<element>] : String | provenance | MaD:1 |
| B.java:107:5:107:6 | l2 : ArrayList [<element>, <element>] : String | B.java:107:16:107:16 | l : List [<element>] : String | provenance | MaD:1 |
| B.java:107:5:107:6 | l2 : ArrayList [<element>, <element>] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | provenance | MaD:1 |
| B.java:107:16:107:16 | l : ArrayList [<element>] : String | B.java:107:21:107:21 | l : ArrayList [<element>] : String | provenance | |
| B.java:107:16:107:16 | l : List [<element>] : String | B.java:107:21:107:21 | l : List [<element>] : String | provenance | |
| B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | MaD:1 |
| B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | heuristic-callback |
| B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this : new Consumer<List<String>>(...) { ... } [String s] : String | provenance | MaD:1 |
| B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this : new Consumer<List<String>>(...) { ... } [String s] : String | provenance | heuristic-callback |
| B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | B.java:107:16:111:6 | List<String> out1 : ArrayList [<element>] : String | provenance | |
| B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | B.java:107:16:111:6 | List<String> out2 : ArrayList [<element>] : String | provenance | |
| B.java:107:16:111:6 | List<String> out1 : ArrayList [<element>] : String | B.java:112:10:112:13 | out1 : ArrayList [<element>] : String | provenance | |
| B.java:107:16:111:6 | List<String> out2 : ArrayList [<element>] : String | B.java:113:10:113:13 | out2 : ArrayList [<element>] : String | provenance | |
| B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | B.java:107:16:111:6 | List<String> out1 : List [<element>] : String | provenance | |
| B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | B.java:107:16:111:6 | List<String> out2 : List [<element>] : String | provenance | |
| B.java:107:16:111:6 | List<String> out1 : List [<element>] : String | B.java:112:10:112:13 | out1 : List [<element>] : String | provenance | |
| B.java:107:16:111:6 | List<String> out2 : List [<element>] : String | B.java:113:10:113:13 | out2 : List [<element>] : String | provenance | |
| B.java:107:16:111:6 | String s : String | B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | provenance | |
| B.java:107:16:111:6 | parameter this : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [String s] : String | provenance | |
| B.java:107:21:107:21 | l : ArrayList [<element>] : String | B.java:107:31:107:31 | x : String | provenance | MaD:1 |
| B.java:107:21:107:21 | l : ArrayList [<element>] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | provenance | MaD:1 |
| B.java:107:21:107:21 | l : List [<element>] : String | B.java:107:31:107:31 | x : String | provenance | MaD:1 |
| B.java:107:21:107:21 | l : List [<element>] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | provenance | MaD:1 |
| B.java:107:31:107:31 | x : String | B.java:109:16:109:16 | x : String | provenance | |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | provenance | MaD:1 |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | provenance | heuristic-callback |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer<String>(...) { ... } [String s] : String | provenance | MaD:1 |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer<String>(...) { ... } [String s] : String | provenance | heuristic-callback |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | B.java:107:31:111:5 | List<String> out1 : ArrayList [<element>] : String | provenance | |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | B.java:107:31:111:5 | List<String> out2 : ArrayList [<element>] : String | provenance | |
| B.java:107:31:111:5 | List<String> out1 : ArrayList [<element>] : String | B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | provenance | |
| B.java:107:31:111:5 | List<String> out2 : ArrayList [<element>] : String | B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | B.java:107:31:111:5 | List<String> out1 : List [<element>] : String | provenance | |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | B.java:107:31:111:5 | List<String> out2 : List [<element>] : String | provenance | |
| B.java:107:31:111:5 | List<String> out1 : List [<element>] : String | B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | provenance | |
| B.java:107:31:111:5 | List<String> out2 : List [<element>] : String | B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | |
| B.java:107:31:111:5 | String s : String | B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | provenance | |
| B.java:107:31:111:5 | parameter this : new Consumer<String>(...) { ... } [String s] : String | B.java:108:12:108:12 | this : new Consumer<String>(...) { ... } [String s] : String | provenance | |
| B.java:107:31:111:5 | parameter this : new Consumer<String>(...) { ... } [String s] : String | B.java:110:16:110:16 | this : new Consumer<String>(...) { ... } [String s] : String | provenance | |
@@ -132,8 +132,8 @@ edges
| B.java:110:7:110:10 | this : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | provenance | |
| B.java:110:16:110:16 | s : String | B.java:110:7:110:10 | out2 [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:110:16:110:16 | this : new Consumer<String>(...) { ... } [String s] : String | B.java:110:16:110:16 | s : String | provenance | |
| B.java:112:10:112:13 | out1 : ArrayList [<element>] : String | B.java:112:10:112:20 | get(...) | provenance | MaD:3 |
| B.java:113:10:113:13 | out2 : ArrayList [<element>] : String | B.java:113:10:113:20 | get(...) | provenance | MaD:3 |
| B.java:112:10:112:13 | out1 : List [<element>] : String | B.java:112:10:112:20 | get(...) | provenance | MaD:3 |
| B.java:113:10:113:13 | out2 : List [<element>] : String | B.java:113:10:113:20 | get(...) | provenance | MaD:3 |
| B.java:126:19:126:22 | parameter this [Return] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:136:5:136:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | provenance | |
| B.java:127:9:127:10 | l1 [post update] : ArrayList [<element>] : String | B.java:127:9:127:10 | this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | provenance | |
| B.java:127:9:127:10 | this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:126:19:126:22 | parameter this [Return] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | provenance | |
@@ -144,14 +144,14 @@ edges
| B.java:131:16:131:17 | l1 : ArrayList [<element>] : String | B.java:131:16:131:24 | get(...) : String | provenance | MaD:3 |
| B.java:131:16:131:17 | this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:131:16:131:17 | l1 : ArrayList [<element>] : String | provenance | |
| B.java:131:16:131:24 | get(...) : String | B.java:131:9:131:10 | l2 [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:136:5:136:5 | List<String> l1 : ArrayList [<element>] : String | B.java:137:5:137:5 | List<String> l1 : ArrayList [<element>] : String | provenance | |
| B.java:136:5:136:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:136:5:136:5 | List<String> l1 : ArrayList [<element>] : String | provenance | |
| B.java:137:5:137:5 | List<String> l1 : ArrayList [<element>] : String | B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | provenance | |
| B.java:137:5:137:5 | List<String> l2 : ArrayList [<element>] : String | B.java:138:10:138:11 | l2 : ArrayList [<element>] : String | provenance | |
| B.java:136:5:136:5 | List<String> l1 : List [<element>] : String | B.java:137:5:137:5 | List<String> l1 : List [<element>] : String | provenance | |
| B.java:136:5:136:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:136:5:136:5 | List<String> l1 : List [<element>] : String | provenance | |
| B.java:137:5:137:5 | List<String> l1 : List [<element>] : String | B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | provenance | |
| B.java:137:5:137:5 | List<String> l2 : List [<element>] : String | B.java:138:10:138:11 | l2 : List [<element>] : String | provenance | |
| B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:130:19:130:22 | parameter this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | provenance | |
| B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | provenance | MaD:3 |
| B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | B.java:137:5:137:5 | List<String> l2 : ArrayList [<element>] : String | provenance | |
| B.java:138:10:138:11 | l2 : ArrayList [<element>] : String | B.java:138:10:138:18 | get(...) | provenance | MaD:3 |
| B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | B.java:137:5:137:5 | List<String> l2 : List [<element>] : String | provenance | |
| B.java:138:10:138:11 | l2 : List [<element>] : String | B.java:138:10:138:18 | get(...) | provenance | MaD:3 |
| B.java:142:16:142:31 | source(...) : String | B.java:148:17:148:29 | String s : String | provenance | |
| B.java:145:7:145:13 | parameter this : MyLocal [String s] : String | B.java:145:28:145:28 | this : MyLocal [String s] : String | provenance | |
| B.java:145:19:145:22 | this [post update] : MyLocal [f] : String | B.java:145:7:145:13 | parameter this [Return] : MyLocal [f] : String | provenance | |
@@ -204,11 +204,11 @@ edges
| B.java:175:5:175:6 | String s2 : String | B.java:175:5:175:6 | m1 : MyLocal [String s2] : String | provenance | |
| B.java:175:5:175:6 | m1 : MyLocal [String s2] : String | B.java:162:12:162:15 | parameter this : MyLocal [String s2] : String | provenance | |
| B.java:175:5:175:6 | m1 : MyLocal [f] : String | B.java:162:12:162:15 | parameter this : MyLocal [f] : String | provenance | |
| B.java:177:5:177:6 | List<String> l : ArrayList [<element>] : String | B.java:178:10:178:11 | List<String> l : ArrayList [<element>] : String | provenance | |
| B.java:177:5:177:6 | m1 [post update] : MyLocal [List<String> l, <element>] : String | B.java:177:5:177:6 | List<String> l : ArrayList [<element>] : String | provenance | |
| B.java:177:5:177:6 | List<String> l : List [<element>] : String | B.java:178:10:178:11 | List<String> l : List [<element>] : String | provenance | |
| B.java:177:5:177:6 | m1 [post update] : MyLocal [List<String> l, <element>] : String | B.java:177:5:177:6 | List<String> l : List [<element>] : String | provenance | |
| B.java:177:12:177:27 | source(...) : String | B.java:166:16:166:23 | s : String | provenance | |
| B.java:177:12:177:27 | source(...) : String | B.java:177:5:177:6 | m1 [post update] : MyLocal [List<String> l, <element>] : String | provenance | MaD:2 |
| B.java:178:10:178:11 | List<String> l : ArrayList [<element>] : String | B.java:178:10:178:11 | m2 : MyLocal [List<String> l, <element>] : String | provenance | |
| B.java:178:10:178:11 | List<String> l : List [<element>] : String | B.java:178:10:178:11 | m2 : MyLocal [List<String> l, <element>] : String | provenance | |
| B.java:178:10:178:11 | m2 : MyLocal [List<String> l, <element>] : String | B.java:169:14:169:16 | parameter this : MyLocal [List<String> l, <element>] : String | provenance | |
| B.java:178:10:178:11 | m2 : MyLocal [List<String> l, <element>] : String | B.java:178:10:178:17 | get(...) | provenance | MaD:3 |
| B.java:203:16:203:42 | source(...) : String | B.java:212:5:212:6 | String s : String | provenance | |
@@ -220,17 +220,17 @@ edges
| B.java:207:15:207:42 | source(...) : String | B.java:207:7:207:9 | out [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:209:19:211:5 | parameter this : new Runnable(...) { ... } [String s] : String | B.java:210:7:210:8 | this : new Runnable(...) { ... } [String s] : String | provenance | |
| B.java:209:19:211:5 | parameter this [Return] : new Runnable(...) { ... } [List<String> out, <element>] : String | B.java:212:5:212:6 | r2 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String | provenance | |
| B.java:210:7:210:8 | List<String> out : ArrayList [<element>] : String | B.java:210:7:210:8 | this : new Runnable(...) { ... } [List<String> out, <element>] : String | provenance | |
| B.java:210:7:210:8 | List<String> out : List [<element>] : String | B.java:210:7:210:8 | this : new Runnable(...) { ... } [List<String> out, <element>] : String | provenance | |
| B.java:210:7:210:8 | String s : String | B.java:210:7:210:8 | r1 : new Runnable(...) { ... } [String s] : String | provenance | |
| B.java:210:7:210:8 | r1 : new Runnable(...) { ... } [String s] : String | B.java:205:19:208:5 | parameter this : new Runnable(...) { ... } [String s] : String | provenance | |
| B.java:210:7:210:8 | r1 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String | B.java:210:7:210:8 | List<String> out : ArrayList [<element>] : String | provenance | |
| B.java:210:7:210:8 | r1 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String | B.java:210:7:210:8 | List<String> out : List [<element>] : String | provenance | |
| B.java:210:7:210:8 | this : new Runnable(...) { ... } [List<String> out, <element>] : String | B.java:209:19:211:5 | parameter this [Return] : new Runnable(...) { ... } [List<String> out, <element>] : String | provenance | |
| B.java:210:7:210:8 | this : new Runnable(...) { ... } [String s] : String | B.java:210:7:210:8 | String s : String | provenance | |
| B.java:212:5:212:6 | List<String> out : ArrayList [<element>] : String | B.java:213:10:213:12 | out : ArrayList [<element>] : String | provenance | |
| B.java:212:5:212:6 | List<String> out : List [<element>] : String | B.java:213:10:213:12 | out : List [<element>] : String | provenance | |
| B.java:212:5:212:6 | String s : String | B.java:212:5:212:6 | r2 : new Runnable(...) { ... } [String s] : String | provenance | |
| B.java:212:5:212:6 | r2 : new Runnable(...) { ... } [String s] : String | B.java:209:19:211:5 | parameter this : new Runnable(...) { ... } [String s] : String | provenance | |
| B.java:212:5:212:6 | r2 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String | B.java:212:5:212:6 | List<String> out : ArrayList [<element>] : String | provenance | |
| B.java:213:10:213:12 | out : ArrayList [<element>] : String | B.java:213:10:213:19 | get(...) | provenance | MaD:3 |
| B.java:212:5:212:6 | r2 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String | B.java:212:5:212:6 | List<String> out : List [<element>] : String | provenance | |
| B.java:213:10:213:12 | out : List [<element>] : String | B.java:213:10:213:19 | get(...) | provenance | MaD:3 |
| B.java:231:16:231:28 | source(...) : String | B.java:247:5:247:18 | String s : String | provenance | |
| B.java:235:7:235:14 | parameter this : MyLocal2 [String s] : String | B.java:238:15:238:15 | this : MyLocal2 [String s] : String | provenance | |
| B.java:238:9:238:9 | l [post update] : ArrayList [<element>] : String | B.java:238:9:238:9 | this : MyLocal2 [List<String> l, <element>] : String | provenance | |
@@ -243,17 +243,17 @@ edges
| B.java:241:16:241:16 | l : ArrayList [<element>] : String | B.java:241:16:241:23 | get(...) : String | provenance | MaD:3 |
| B.java:241:16:241:16 | this : MyLocal2 [List<String> l, <element>] : String | B.java:241:16:241:16 | l : ArrayList [<element>] : String | provenance | |
| B.java:241:16:241:23 | get(...) : String | B.java:241:9:241:10 | l2 [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:247:5:247:18 | List<String> l2 : ArrayList [<element>] : String | B.java:249:10:249:11 | l2 : ArrayList [<element>] : String | provenance | |
| B.java:247:5:247:18 | List<String> l : ArrayList [<element>] : String | B.java:248:10:248:10 | l : ArrayList [<element>] : String | provenance | |
| B.java:247:5:247:18 | List<String> l2 : List [<element>] : String | B.java:249:10:249:11 | l2 : List [<element>] : String | provenance | |
| B.java:247:5:247:18 | List<String> l : List [<element>] : String | B.java:248:10:248:10 | l : List [<element>] : String | provenance | |
| B.java:247:5:247:18 | String s : String | B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | provenance | |
| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String | B.java:240:12:240:14 | parameter this : MyLocal2 [List<String> l, <element>] : String | provenance | |
| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String | B.java:247:5:247:18 | List<String> l : ArrayList [<element>] : String | provenance | |
| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String | B.java:247:5:247:18 | List<String> l : List [<element>] : String | provenance | |
| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String | B.java:247:5:247:18 | new MyLocal2(...) [post update] : MyLocal2 [List<String> l2, <element>] : String | provenance | MaD:3 |
| B.java:247:5:247:18 | new MyLocal2(...) [post update] : MyLocal2 [List<String> l2, <element>] : String | B.java:247:5:247:18 | List<String> l2 : ArrayList [<element>] : String | provenance | |
| B.java:247:5:247:18 | new MyLocal2(...) [post update] : MyLocal2 [List<String> l2, <element>] : String | B.java:247:5:247:18 | List<String> l2 : List [<element>] : String | provenance | |
| B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | B.java:235:7:235:14 | parameter this : MyLocal2 [String s] : String | provenance | |
| B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String | provenance | MaD:2 |
| B.java:248:10:248:10 | l : ArrayList [<element>] : String | B.java:248:10:248:17 | get(...) | provenance | MaD:3 |
| B.java:249:10:249:11 | l2 : ArrayList [<element>] : String | B.java:249:10:249:18 | get(...) | provenance | MaD:3 |
| B.java:248:10:248:10 | l : List [<element>] : String | B.java:248:10:248:17 | get(...) | provenance | MaD:3 |
| B.java:249:10:249:11 | l2 : List [<element>] : String | B.java:249:10:249:18 | get(...) | provenance | MaD:3 |
| B.java:254:16:254:29 | source(...) : String | B.java:261:5:261:18 | String s : String | provenance | |
| B.java:255:11:255:18 | parameter this : MyLocal3 [String s] : String | B.java:255:11:255:18 | this <.method> : MyLocal3 [String s] : String | provenance | |
| B.java:255:11:255:18 | parameter this : MyLocal3 [String s] : String | B.java:256:18:256:18 | this : MyLocal3 [String s] : String | provenance | |
@@ -300,12 +300,12 @@ nodes
| B.java:13:5:13:6 | l1 : ArrayList [<element>] : String | semmle.label | l1 : ArrayList [<element>] : String |
| B.java:13:16:13:16 | e : String | semmle.label | e : String |
| B.java:13:16:13:29 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | semmle.label | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String |
| B.java:13:16:13:29 | List<String> l2 : ArrayList [<element>] : String | semmle.label | List<String> l2 : ArrayList [<element>] : String |
| B.java:13:16:13:29 | List<String> l2 : List [<element>] : String | semmle.label | List<String> l2 : List [<element>] : String |
| B.java:13:16:13:29 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | semmle.label | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String |
| B.java:13:21:13:22 | l2 [post update] : ArrayList [<element>] : String | semmle.label | l2 [post update] : ArrayList [<element>] : String |
| B.java:13:21:13:22 | this : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | semmle.label | this : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String |
| B.java:13:28:13:28 | e : String | semmle.label | e : String |
| B.java:14:10:14:11 | l2 : ArrayList [<element>] : String | semmle.label | l2 : ArrayList [<element>] : String |
| B.java:14:10:14:11 | l2 : List [<element>] : String | semmle.label | l2 : List [<element>] : String |
| B.java:14:10:14:18 | get(...) | semmle.label | get(...) |
| B.java:22:26:22:26 | x : String | semmle.label | x : String |
| B.java:22:26:22:71 | parameter this [Return] : new Consumer<String>(...) { ... } [B other, bf1] : String | semmle.label | parameter this [Return] : new Consumer<String>(...) { ... } [B other, bf1] : String |
@@ -319,14 +319,14 @@ nodes
| B.java:34:10:34:18 | other.bf1 | semmle.label | other.bf1 |
| B.java:38:23:38:45 | inp : HashMap [<map.key>] : String | semmle.label | inp : HashMap [<map.key>] : String |
| B.java:38:23:38:45 | inp : HashMap [<map.value>] : String | semmle.label | inp : HashMap [<map.value>] : String |
| B.java:38:48:38:70 | out [Return] : HashMap [<map.key>] : String | semmle.label | out [Return] : HashMap [<map.key>] : String |
| B.java:38:48:38:70 | out [Return] : HashMap [<map.value>] : String | semmle.label | out [Return] : HashMap [<map.value>] : String |
| B.java:38:48:38:70 | out [Return] : Map [<map.key>] : String | semmle.label | out [Return] : Map [<map.key>] : String |
| B.java:38:48:38:70 | out [Return] : Map [<map.value>] : String | semmle.label | out [Return] : Map [<map.value>] : String |
| B.java:39:5:39:7 | inp : HashMap [<map.key>] : String | semmle.label | inp : HashMap [<map.key>] : String |
| B.java:39:5:39:7 | inp : HashMap [<map.value>] : String | semmle.label | inp : HashMap [<map.value>] : String |
| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | semmle.label | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String |
| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | semmle.label | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String |
| B.java:39:17:39:56 | out : HashMap [<map.key>] : String | semmle.label | out : HashMap [<map.key>] : String |
| B.java:39:17:39:56 | out : HashMap [<map.value>] : String | semmle.label | out : HashMap [<map.value>] : String |
| B.java:39:17:39:56 | out : Map [<map.key>] : String | semmle.label | out : Map [<map.key>] : String |
| B.java:39:17:39:56 | out : Map [<map.value>] : String | semmle.label | out : Map [<map.value>] : String |
| B.java:39:17:39:56 | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | semmle.label | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String |
| B.java:39:17:39:56 | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | semmle.label | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String |
| B.java:39:18:39:20 | key : String | semmle.label | key : String |
@@ -390,23 +390,23 @@ nodes
| B.java:103:12:103:13 | l1 : ArrayList [<element>] : String | semmle.label | l1 : ArrayList [<element>] : String |
| B.java:104:16:104:32 | source(...) : String | semmle.label | source(...) : String |
| B.java:107:5:107:6 | l2 : ArrayList [<element>, <element>] : String | semmle.label | l2 : ArrayList [<element>, <element>] : String |
| B.java:107:16:107:16 | l : ArrayList [<element>] : String | semmle.label | l : ArrayList [<element>] : String |
| B.java:107:16:107:16 | l : List [<element>] : String | semmle.label | l : List [<element>] : String |
| B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | semmle.label | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String |
| B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | semmle.label | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String |
| B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | semmle.label | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:16:111:6 | List<String> out1 : ArrayList [<element>] : String | semmle.label | List<String> out1 : ArrayList [<element>] : String |
| B.java:107:16:111:6 | List<String> out2 : ArrayList [<element>] : String | semmle.label | List<String> out2 : ArrayList [<element>] : String |
| B.java:107:16:111:6 | List<String> out1 : List [<element>] : String | semmle.label | List<String> out1 : List [<element>] : String |
| B.java:107:16:111:6 | List<String> out2 : List [<element>] : String | semmle.label | List<String> out2 : List [<element>] : String |
| B.java:107:16:111:6 | String s : String | semmle.label | String s : String |
| B.java:107:16:111:6 | parameter this : new Consumer<List<String>>(...) { ... } [String s] : String | semmle.label | parameter this : new Consumer<List<String>>(...) { ... } [String s] : String |
| B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | semmle.label | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String |
| B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | semmle.label | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:21:107:21 | l : ArrayList [<element>] : String | semmle.label | l : ArrayList [<element>] : String |
| B.java:107:21:107:21 | l : List [<element>] : String | semmle.label | l : List [<element>] : String |
| B.java:107:31:107:31 | x : String | semmle.label | x : String |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | semmle.label | ...->... : new Consumer<String>(...) { ... } [String s] : String |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | semmle.label | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | semmle.label | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:31:111:5 | List<String> out1 : ArrayList [<element>] : String | semmle.label | List<String> out1 : ArrayList [<element>] : String |
| B.java:107:31:111:5 | List<String> out2 : ArrayList [<element>] : String | semmle.label | List<String> out2 : ArrayList [<element>] : String |
| B.java:107:31:111:5 | List<String> out1 : List [<element>] : String | semmle.label | List<String> out1 : List [<element>] : String |
| B.java:107:31:111:5 | List<String> out2 : List [<element>] : String | semmle.label | List<String> out2 : List [<element>] : String |
| B.java:107:31:111:5 | String s : String | semmle.label | String s : String |
| B.java:107:31:111:5 | parameter this : new Consumer<String>(...) { ... } [String s] : String | semmle.label | parameter this : new Consumer<String>(...) { ... } [String s] : String |
| B.java:107:31:111:5 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | semmle.label | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String |
@@ -423,9 +423,9 @@ nodes
| B.java:110:7:110:10 | this : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | semmle.label | this : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String |
| B.java:110:16:110:16 | s : String | semmle.label | s : String |
| B.java:110:16:110:16 | this : new Consumer<String>(...) { ... } [String s] : String | semmle.label | this : new Consumer<String>(...) { ... } [String s] : String |
| B.java:112:10:112:13 | out1 : ArrayList [<element>] : String | semmle.label | out1 : ArrayList [<element>] : String |
| B.java:112:10:112:13 | out1 : List [<element>] : String | semmle.label | out1 : List [<element>] : String |
| B.java:112:10:112:20 | get(...) | semmle.label | get(...) |
| B.java:113:10:113:13 | out2 : ArrayList [<element>] : String | semmle.label | out2 : ArrayList [<element>] : String |
| B.java:113:10:113:13 | out2 : List [<element>] : String | semmle.label | out2 : List [<element>] : String |
| B.java:113:10:113:20 | get(...) | semmle.label | get(...) |
| B.java:126:19:126:22 | parameter this [Return] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | semmle.label | parameter this [Return] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String |
| B.java:127:9:127:10 | l1 [post update] : ArrayList [<element>] : String | semmle.label | l1 [post update] : ArrayList [<element>] : String |
@@ -438,13 +438,13 @@ nodes
| B.java:131:16:131:17 | l1 : ArrayList [<element>] : String | semmle.label | l1 : ArrayList [<element>] : String |
| B.java:131:16:131:17 | this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | semmle.label | this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String |
| B.java:131:16:131:24 | get(...) : String | semmle.label | get(...) : String |
| B.java:136:5:136:5 | List<String> l1 : ArrayList [<element>] : String | semmle.label | List<String> l1 : ArrayList [<element>] : String |
| B.java:136:5:136:5 | List<String> l1 : List [<element>] : String | semmle.label | List<String> l1 : List [<element>] : String |
| B.java:136:5:136:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | semmle.label | r [post update] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String |
| B.java:137:5:137:5 | List<String> l1 : ArrayList [<element>] : String | semmle.label | List<String> l1 : ArrayList [<element>] : String |
| B.java:137:5:137:5 | List<String> l2 : ArrayList [<element>] : String | semmle.label | List<String> l2 : ArrayList [<element>] : String |
| B.java:137:5:137:5 | List<String> l1 : List [<element>] : String | semmle.label | List<String> l1 : List [<element>] : String |
| B.java:137:5:137:5 | List<String> l2 : List [<element>] : String | semmle.label | List<String> l2 : List [<element>] : String |
| B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | semmle.label | r : new TwoRuns(...) { ... } [List<String> l1, <element>] : String |
| B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | semmle.label | r [post update] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String |
| B.java:138:10:138:11 | l2 : ArrayList [<element>] : String | semmle.label | l2 : ArrayList [<element>] : String |
| B.java:138:10:138:11 | l2 : List [<element>] : String | semmle.label | l2 : List [<element>] : String |
| B.java:138:10:138:18 | get(...) | semmle.label | get(...) |
| B.java:142:16:142:31 | source(...) : String | semmle.label | source(...) : String |
| B.java:145:7:145:13 | parameter this : MyLocal [String s] : String | semmle.label | parameter this : MyLocal [String s] : String |
@@ -499,10 +499,10 @@ nodes
| B.java:175:5:175:6 | String s2 : String | semmle.label | String s2 : String |
| B.java:175:5:175:6 | m1 : MyLocal [String s2] : String | semmle.label | m1 : MyLocal [String s2] : String |
| B.java:175:5:175:6 | m1 : MyLocal [f] : String | semmle.label | m1 : MyLocal [f] : String |
| B.java:177:5:177:6 | List<String> l : ArrayList [<element>] : String | semmle.label | List<String> l : ArrayList [<element>] : String |
| B.java:177:5:177:6 | List<String> l : List [<element>] : String | semmle.label | List<String> l : List [<element>] : String |
| B.java:177:5:177:6 | m1 [post update] : MyLocal [List<String> l, <element>] : String | semmle.label | m1 [post update] : MyLocal [List<String> l, <element>] : String |
| B.java:177:12:177:27 | source(...) : String | semmle.label | source(...) : String |
| B.java:178:10:178:11 | List<String> l : ArrayList [<element>] : String | semmle.label | List<String> l : ArrayList [<element>] : String |
| B.java:178:10:178:11 | List<String> l : List [<element>] : String | semmle.label | List<String> l : List [<element>] : String |
| B.java:178:10:178:11 | m2 : MyLocal [List<String> l, <element>] : String | semmle.label | m2 : MyLocal [List<String> l, <element>] : String |
| B.java:178:10:178:17 | get(...) | semmle.label | get(...) |
| B.java:203:16:203:42 | source(...) : String | semmle.label | source(...) : String |
@@ -515,17 +515,17 @@ nodes
| B.java:207:15:207:42 | source(...) : String | semmle.label | source(...) : String |
| B.java:209:19:211:5 | parameter this : new Runnable(...) { ... } [String s] : String | semmle.label | parameter this : new Runnable(...) { ... } [String s] : String |
| B.java:209:19:211:5 | parameter this [Return] : new Runnable(...) { ... } [List<String> out, <element>] : String | semmle.label | parameter this [Return] : new Runnable(...) { ... } [List<String> out, <element>] : String |
| B.java:210:7:210:8 | List<String> out : ArrayList [<element>] : String | semmle.label | List<String> out : ArrayList [<element>] : String |
| B.java:210:7:210:8 | List<String> out : List [<element>] : String | semmle.label | List<String> out : List [<element>] : String |
| B.java:210:7:210:8 | String s : String | semmle.label | String s : String |
| B.java:210:7:210:8 | r1 : new Runnable(...) { ... } [String s] : String | semmle.label | r1 : new Runnable(...) { ... } [String s] : String |
| B.java:210:7:210:8 | r1 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String | semmle.label | r1 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String |
| B.java:210:7:210:8 | this : new Runnable(...) { ... } [List<String> out, <element>] : String | semmle.label | this : new Runnable(...) { ... } [List<String> out, <element>] : String |
| B.java:210:7:210:8 | this : new Runnable(...) { ... } [String s] : String | semmle.label | this : new Runnable(...) { ... } [String s] : String |
| B.java:212:5:212:6 | List<String> out : ArrayList [<element>] : String | semmle.label | List<String> out : ArrayList [<element>] : String |
| B.java:212:5:212:6 | List<String> out : List [<element>] : String | semmle.label | List<String> out : List [<element>] : String |
| B.java:212:5:212:6 | String s : String | semmle.label | String s : String |
| B.java:212:5:212:6 | r2 : new Runnable(...) { ... } [String s] : String | semmle.label | r2 : new Runnable(...) { ... } [String s] : String |
| B.java:212:5:212:6 | r2 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String | semmle.label | r2 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String |
| B.java:213:10:213:12 | out : ArrayList [<element>] : String | semmle.label | out : ArrayList [<element>] : String |
| B.java:213:10:213:12 | out : List [<element>] : String | semmle.label | out : List [<element>] : String |
| B.java:213:10:213:19 | get(...) | semmle.label | get(...) |
| B.java:231:16:231:28 | source(...) : String | semmle.label | source(...) : String |
| B.java:235:7:235:14 | parameter this : MyLocal2 [String s] : String | semmle.label | parameter this : MyLocal2 [String s] : String |
@@ -541,15 +541,15 @@ nodes
| B.java:241:16:241:16 | l : ArrayList [<element>] : String | semmle.label | l : ArrayList [<element>] : String |
| B.java:241:16:241:16 | this : MyLocal2 [List<String> l, <element>] : String | semmle.label | this : MyLocal2 [List<String> l, <element>] : String |
| B.java:241:16:241:23 | get(...) : String | semmle.label | get(...) : String |
| B.java:247:5:247:18 | List<String> l2 : ArrayList [<element>] : String | semmle.label | List<String> l2 : ArrayList [<element>] : String |
| B.java:247:5:247:18 | List<String> l : ArrayList [<element>] : String | semmle.label | List<String> l : ArrayList [<element>] : String |
| B.java:247:5:247:18 | List<String> l2 : List [<element>] : String | semmle.label | List<String> l2 : List [<element>] : String |
| B.java:247:5:247:18 | List<String> l : List [<element>] : String | semmle.label | List<String> l : List [<element>] : String |
| B.java:247:5:247:18 | String s : String | semmle.label | String s : String |
| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String | semmle.label | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String |
| B.java:247:5:247:18 | new MyLocal2(...) [post update] : MyLocal2 [List<String> l2, <element>] : String | semmle.label | new MyLocal2(...) [post update] : MyLocal2 [List<String> l2, <element>] : String |
| B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | semmle.label | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String |
| B.java:248:10:248:10 | l : ArrayList [<element>] : String | semmle.label | l : ArrayList [<element>] : String |
| B.java:248:10:248:10 | l : List [<element>] : String | semmle.label | l : List [<element>] : String |
| B.java:248:10:248:17 | get(...) | semmle.label | get(...) |
| B.java:249:10:249:11 | l2 : ArrayList [<element>] : String | semmle.label | l2 : ArrayList [<element>] : String |
| B.java:249:10:249:11 | l2 : List [<element>] : String | semmle.label | l2 : List [<element>] : String |
| B.java:249:10:249:18 | get(...) | semmle.label | get(...) |
| B.java:254:16:254:29 | source(...) : String | semmle.label | source(...) : String |
| B.java:255:11:255:18 | parameter this : MyLocal3 [String s] : String | semmle.label | parameter this : MyLocal3 [String s] : String |
@@ -595,11 +595,11 @@ subpaths
| B.java:30:14:30:24 | source(...) : String | B.java:22:26:22:26 | x : String | B.java:22:26:22:71 | parameter this [Return] : new Consumer<String>(...) { ... } [B other, bf1] : String | B.java:30:5:30:5 | f [post update] : new Consumer<String>(...) { ... } [B other, bf1] : String |
| B.java:39:5:39:7 | inp : HashMap [<map.key>] : String | B.java:39:18:39:20 | key : String | B.java:39:17:39:56 | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String |
| B.java:39:5:39:7 | inp : HashMap [<map.value>] : String | B.java:39:23:39:27 | value : String | B.java:39:17:39:56 | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String |
| B.java:46:13:46:14 | m1 : HashMap [<map.key>] : String | B.java:38:23:38:45 | inp : HashMap [<map.key>] : String | B.java:38:48:38:70 | out [Return] : HashMap [<map.key>] : String | B.java:46:17:46:18 | m2 [post update] : HashMap [<map.key>] : String |
| B.java:46:13:46:14 | m1 : HashMap [<map.value>] : String | B.java:38:23:38:45 | inp : HashMap [<map.value>] : String | B.java:38:48:38:70 | out [Return] : HashMap [<map.value>] : String | B.java:46:17:46:18 | m2 [post update] : HashMap [<map.value>] : String |
| B.java:107:5:107:6 | l2 : ArrayList [<element>, <element>] : String | B.java:107:16:107:16 | l : ArrayList [<element>] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String |
| B.java:46:13:46:14 | m1 : HashMap [<map.key>] : String | B.java:38:23:38:45 | inp : HashMap [<map.key>] : String | B.java:38:48:38:70 | out [Return] : Map [<map.key>] : String | B.java:46:17:46:18 | m2 [post update] : HashMap [<map.key>] : String |
| B.java:46:13:46:14 | m1 : HashMap [<map.value>] : String | B.java:38:23:38:45 | inp : HashMap [<map.value>] : String | B.java:38:48:38:70 | out [Return] : Map [<map.value>] : String | B.java:46:17:46:18 | m2 [post update] : HashMap [<map.value>] : String |
| B.java:107:5:107:6 | l2 : ArrayList [<element>, <element>] : String | B.java:107:16:107:16 | l : List [<element>] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String |
| B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:21:107:21 | l : ArrayList [<element>] : String | B.java:107:31:107:31 | x : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String |
| B.java:107:21:107:21 | l : List [<element>] : String | B.java:107:31:107:31 | x : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String |
| B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:130:19:130:22 | parameter this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:130:19:130:22 | parameter this [Return] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String |
| B.java:148:17:148:29 | new MyLocal(...) [pre constructor] : MyLocal [String s] : String | B.java:145:7:145:13 | parameter this : MyLocal [String s] : String | B.java:145:7:145:13 | parameter this [Return] : MyLocal [f] : String | B.java:148:17:148:29 | new MyLocal(...) : MyLocal [f] : String |

View File

@@ -223,10 +223,7 @@ edges
| Test.java:79:46:79:53 | source(...) : Object | Test.java:26:30:26:43 | element : Object | provenance | |
| Test.java:79:46:79:53 | source(...) : Object | Test.java:79:25:79:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | provenance | MaD:105 |
| Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
| Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
| Test.java:80:18:80:19 | in : Bundle [<map.key>] : String | Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:4 |
| Test.java:80:18:80:19 | in : Bundle [<map.key>] : String | Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:4 |
| Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:81:26:81:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:11 |
| Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:81:26:81:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:11 |
| Test.java:81:26:81:40 | getExtras(...) : Bundle [<map.key>] : String | Test.java:81:9:81:41 | getMapKeyDefault(...) | provenance | MaD:194 |
| Test.java:88:16:88:56 | (...)... : Bundle [<map.value>] : String | Test.java:89:18:89:19 | in : Bundle [<map.value>] : String | provenance | |
@@ -234,10 +231,7 @@ edges
| Test.java:88:48:88:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | |
| Test.java:88:48:88:55 | source(...) : Object | Test.java:88:25:88:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
| Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:89:18:89:19 | in : Bundle [<map.value>] : String | Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:5 |
| Test.java:89:18:89:19 | in : Bundle [<map.value>] : String | Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:5 |
| Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:90:28:90:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:11 |
| Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:90:28:90:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:11 |
| Test.java:90:28:90:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
| Test.java:90:28:90:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:90:9:90:43 | getMapValueDefault(...) | provenance | MaD:104 |
@@ -254,15 +248,9 @@ edges
| Test.java:112:48:112:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | |
| Test.java:112:48:112:55 | source(...) : Object | Test.java:112:25:112:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
| Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:113:22:113:23 | in : Bundle [<map.value>] : String | Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:5 |
| Test.java:113:22:113:23 | in : Bundle [<map.value>] : String | Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:5 |
| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:8 |
| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:8 |
| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:8 |
| Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, <map.value>] : String | Test.java:115:28:115:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:17 |
| Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, <map.value>] : String | Test.java:115:28:115:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:17 |
| Test.java:115:28:115:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
| Test.java:115:28:115:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:115:9:115:43 | getMapValueDefault(...) | provenance | MaD:104 |
@@ -319,10 +307,7 @@ edges
| Test.java:206:46:206:53 | source(...) : Object | Test.java:26:30:26:43 | element : Object | provenance | |
| Test.java:206:46:206:53 | source(...) : Object | Test.java:206:25:206:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | provenance | MaD:105 |
| Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
| Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
| Test.java:207:18:207:19 | in : Bundle [<map.key>] : String | Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:32 |
| Test.java:207:18:207:19 | in : Bundle [<map.key>] : String | Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:32 |
| Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:208:26:208:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:39 |
| Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:208:26:208:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:39 |
| Test.java:208:26:208:40 | getExtras(...) : Bundle [<map.key>] : String | Test.java:208:9:208:41 | getMapKeyDefault(...) | provenance | MaD:194 |
| Test.java:214:16:214:56 | (...)... : Bundle [<map.value>] : String | Test.java:215:18:215:19 | in : Bundle [<map.value>] : String | provenance | |
@@ -330,10 +315,7 @@ edges
| Test.java:214:48:214:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | |
| Test.java:214:48:214:55 | source(...) : Object | Test.java:214:25:214:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
| Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:215:18:215:19 | in : Bundle [<map.value>] : String | Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:33 |
| Test.java:215:18:215:19 | in : Bundle [<map.value>] : String | Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:33 |
| Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:216:28:216:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:39 |
| Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:216:28:216:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:39 |
| Test.java:216:28:216:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
| Test.java:216:28:216:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:216:9:216:43 | getMapValueDefault(...) | provenance | MaD:104 |
@@ -354,15 +336,9 @@ edges
| Test.java:244:48:244:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | |
| Test.java:244:48:244:55 | source(...) : Object | Test.java:244:25:244:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
| Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:245:22:245:23 | in : Bundle [<map.value>] : String | Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:33 |
| Test.java:245:22:245:23 | in : Bundle [<map.value>] : String | Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:33 |
| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:36 |
| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:36 |
| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:36 |
| Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | Test.java:247:28:247:30 | out : Notification [extras, <map.value>] : String | provenance | |
| Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | Test.java:247:28:247:30 | out : Notification [extras, <map.value>] : String | provenance | |
| Test.java:247:28:247:30 | out : Notification [extras, <map.value>] : String | Test.java:247:28:247:37 | out.extras : Bundle [<map.value>] : String | provenance | |
| Test.java:247:28:247:30 | out : Notification [extras, <map.value>] : String | Test.java:247:28:247:37 | out.extras : Bundle [<map.value>] : String | provenance | |
| Test.java:247:28:247:37 | out.extras : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
| Test.java:247:28:247:37 | out.extras : Bundle [<map.value>] : String | Test.java:247:9:247:38 | getMapValueDefault(...) | provenance | MaD:104 |
@@ -722,10 +698,7 @@ edges
| Test.java:851:46:851:53 | source(...) : Object | Test.java:26:30:26:43 | element : Object | provenance | |
| Test.java:851:46:851:53 | source(...) : Object | Test.java:851:25:851:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | provenance | MaD:105 |
| Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
| Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
| Test.java:852:18:852:19 | in : Bundle [<map.key>] : String | Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:110 |
| Test.java:852:18:852:19 | in : Bundle [<map.key>] : String | Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:110 |
| Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:853:26:853:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:117 |
| Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:853:26:853:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:117 |
| Test.java:853:26:853:40 | getExtras(...) : Bundle [<map.key>] : String | Test.java:853:9:853:41 | getMapKeyDefault(...) | provenance | MaD:194 |
| Test.java:858:16:858:56 | (...)... : Bundle [<map.value>] : String | Test.java:859:18:859:19 | in : Bundle [<map.value>] : String | provenance | |
@@ -733,10 +706,7 @@ edges
| Test.java:858:48:858:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | |
| Test.java:858:48:858:55 | source(...) : Object | Test.java:858:25:858:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
| Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:859:18:859:19 | in : Bundle [<map.value>] : String | Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:111 |
| Test.java:859:18:859:19 | in : Bundle [<map.value>] : String | Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:111 |
| Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:860:28:860:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:117 |
| Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:860:28:860:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:117 |
| Test.java:860:28:860:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
| Test.java:860:28:860:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:860:9:860:43 | getMapValueDefault(...) | provenance | MaD:104 |
@@ -749,15 +719,9 @@ edges
| Test.java:873:48:873:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | |
| Test.java:873:48:873:55 | source(...) : Object | Test.java:873:25:873:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
| Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:874:22:874:23 | in : Bundle [<map.value>] : String | Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:111 |
| Test.java:874:22:874:23 | in : Bundle [<map.value>] : String | Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:111 |
| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:114 |
| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:114 |
| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:114 |
| Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, <map.value>] : String | Test.java:876:28:876:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:123 |
| Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, <map.value>] : String | Test.java:876:28:876:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:123 |
| Test.java:876:28:876:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
| Test.java:876:28:876:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:876:9:876:43 | getMapValueDefault(...) | provenance | MaD:104 |
@@ -858,10 +822,7 @@ edges
| Test.java:1042:46:1042:53 | source(...) : Object | Test.java:26:30:26:43 | element : Object | provenance | |
| Test.java:1042:46:1042:53 | source(...) : Object | Test.java:1042:25:1042:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | provenance | MaD:105 |
| Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
| Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
| Test.java:1043:18:1043:19 | in : Bundle [<map.key>] : String | Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:134 |
| Test.java:1043:18:1043:19 | in : Bundle [<map.key>] : String | Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:134 |
| Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:1044:26:1044:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:141 |
| Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:1044:26:1044:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:141 |
| Test.java:1044:26:1044:40 | getExtras(...) : Bundle [<map.key>] : String | Test.java:1044:9:1044:41 | getMapKeyDefault(...) | provenance | MaD:194 |
| Test.java:1049:16:1049:56 | (...)... : Bundle [<map.value>] : String | Test.java:1050:18:1050:19 | in : Bundle [<map.value>] : String | provenance | |
@@ -869,10 +830,7 @@ edges
| Test.java:1049:48:1049:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | |
| Test.java:1049:48:1049:55 | source(...) : Object | Test.java:1049:25:1049:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
| Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:1050:18:1050:19 | in : Bundle [<map.value>] : String | Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:135 |
| Test.java:1050:18:1050:19 | in : Bundle [<map.value>] : String | Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:135 |
| Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1051:28:1051:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:141 |
| Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1051:28:1051:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:141 |
| Test.java:1051:28:1051:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
| Test.java:1051:28:1051:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:1051:9:1051:43 | getMapValueDefault(...) | provenance | MaD:104 |
@@ -889,15 +847,9 @@ edges
| Test.java:1071:48:1071:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | |
| Test.java:1071:48:1071:55 | source(...) : Object | Test.java:1071:25:1071:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
| Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
| Test.java:1072:22:1072:23 | in : Bundle [<map.value>] : String | Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:135 |
| Test.java:1072:22:1072:23 | in : Bundle [<map.value>] : String | Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:135 |
| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:138 |
| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:138 |
| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:138 |
| Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | Test.java:1074:28:1074:30 | out : Notification [extras, <map.value>] : String | provenance | |
| Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | Test.java:1074:28:1074:30 | out : Notification [extras, <map.value>] : String | provenance | |
| Test.java:1074:28:1074:30 | out : Notification [extras, <map.value>] : String | Test.java:1074:28:1074:37 | out.extras : Bundle [<map.value>] : String | provenance | |
| Test.java:1074:28:1074:30 | out : Notification [extras, <map.value>] : String | Test.java:1074:28:1074:37 | out.extras : Bundle [<map.value>] : String | provenance | |
| Test.java:1074:28:1074:37 | out.extras : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
| Test.java:1074:28:1074:37 | out.extras : Bundle [<map.value>] : String | Test.java:1074:9:1074:38 | getMapValueDefault(...) | provenance | MaD:104 |
@@ -1174,21 +1126,17 @@ nodes
| Test.java:79:25:79:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | semmle.label | newWithMapKeyDefault(...) : Bundle [<map.key>] : String |
| Test.java:79:46:79:53 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:80:18:80:19 | in : Bundle [<map.key>] : String | semmle.label | in : Bundle [<map.key>] : String |
| Test.java:81:9:81:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:81:26:81:40 | getExtras(...) : Bundle [<map.key>] : String | semmle.label | getExtras(...) : Bundle [<map.key>] : String |
| Test.java:88:16:88:56 | (...)... : Bundle [<map.value>] : String | semmle.label | (...)... : Bundle [<map.value>] : String |
| Test.java:88:25:88:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | semmle.label | newWithMapValueDefault(...) : Bundle [<map.value>] : String |
| Test.java:88:48:88:55 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:89:18:89:19 | in : Bundle [<map.value>] : String | semmle.label | in : Bundle [<map.value>] : String |
| Test.java:90:9:90:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:90:28:90:42 | getExtras(...) : Bundle [<map.value>] : String | semmle.label | getExtras(...) : Bundle [<map.value>] : String |
| Test.java:95:37:95:74 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:95:67:95:74 | source(...) : Object | semmle.label | source(...) : Object |
@@ -1204,15 +1152,11 @@ nodes
| Test.java:112:25:112:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | semmle.label | newWithMapValueDefault(...) : Bundle [<map.value>] : String |
| Test.java:112:48:112:55 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:113:22:113:23 | in : Bundle [<map.value>] : String | semmle.label | in : Bundle [<map.value>] : String |
| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | semmle.label | build(...) : Action [android.content.Intent.extras, <map.value>] : String |
| Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | semmle.label | build(...) : Action [android.content.Intent.extras, <map.value>] : String |
| Test.java:115:9:115:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, <map.value>] : String | semmle.label | out : Action [android.content.Intent.extras, <map.value>] : String |
| Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, <map.value>] : String | semmle.label | out : Action [android.content.Intent.extras, <map.value>] : String |
| Test.java:115:28:115:42 | getExtras(...) : Bundle [<map.value>] : String | semmle.label | getExtras(...) : Bundle [<map.value>] : String |
| Test.java:120:37:120:74 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:120:67:120:74 | source(...) : Object | semmle.label | source(...) : Object |
@@ -1278,21 +1222,17 @@ nodes
| Test.java:206:25:206:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | semmle.label | newWithMapKeyDefault(...) : Bundle [<map.key>] : String |
| Test.java:206:46:206:53 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:207:18:207:19 | in : Bundle [<map.key>] : String | semmle.label | in : Bundle [<map.key>] : String |
| Test.java:208:9:208:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:208:26:208:40 | getExtras(...) : Bundle [<map.key>] : String | semmle.label | getExtras(...) : Bundle [<map.key>] : String |
| Test.java:214:16:214:56 | (...)... : Bundle [<map.value>] : String | semmle.label | (...)... : Bundle [<map.value>] : String |
| Test.java:214:25:214:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | semmle.label | newWithMapValueDefault(...) : Bundle [<map.value>] : String |
| Test.java:214:48:214:55 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:215:18:215:19 | in : Bundle [<map.value>] : String | semmle.label | in : Bundle [<map.value>] : String |
| Test.java:216:9:216:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:216:28:216:42 | getExtras(...) : Bundle [<map.value>] : String | semmle.label | getExtras(...) : Bundle [<map.value>] : String |
| Test.java:221:30:221:60 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:221:53:221:60 | source(...) : Object | semmle.label | source(...) : Object |
@@ -1313,15 +1253,11 @@ nodes
| Test.java:244:25:244:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | semmle.label | newWithMapValueDefault(...) : Bundle [<map.value>] : String |
| Test.java:244:48:244:55 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:245:22:245:23 | in : Bundle [<map.value>] : String | semmle.label | in : Bundle [<map.value>] : String |
| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | semmle.label | build(...) : Notification [extras, <map.value>] : String |
| Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | semmle.label | build(...) : Notification [extras, <map.value>] : String |
| Test.java:247:9:247:38 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:247:28:247:30 | out : Notification [extras, <map.value>] : String | semmle.label | out : Notification [extras, <map.value>] : String |
| Test.java:247:28:247:30 | out : Notification [extras, <map.value>] : String | semmle.label | out : Notification [extras, <map.value>] : String |
| Test.java:247:28:247:37 | out.extras : Bundle [<map.value>] : String | semmle.label | out.extras : Bundle [<map.value>] : String |
| Test.java:252:30:252:60 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:252:53:252:60 | source(...) : Object | semmle.label | source(...) : Object |
@@ -1765,21 +1701,17 @@ nodes
| Test.java:851:25:851:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | semmle.label | newWithMapKeyDefault(...) : Bundle [<map.key>] : String |
| Test.java:851:46:851:53 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:852:18:852:19 | in : Bundle [<map.key>] : String | semmle.label | in : Bundle [<map.key>] : String |
| Test.java:853:9:853:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:853:26:853:40 | getExtras(...) : Bundle [<map.key>] : String | semmle.label | getExtras(...) : Bundle [<map.key>] : String |
| Test.java:858:16:858:56 | (...)... : Bundle [<map.value>] : String | semmle.label | (...)... : Bundle [<map.value>] : String |
| Test.java:858:25:858:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | semmle.label | newWithMapValueDefault(...) : Bundle [<map.value>] : String |
| Test.java:858:48:858:55 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:859:18:859:19 | in : Bundle [<map.value>] : String | semmle.label | in : Bundle [<map.value>] : String |
| Test.java:860:9:860:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:860:28:860:42 | getExtras(...) : Bundle [<map.value>] : String | semmle.label | getExtras(...) : Bundle [<map.value>] : String |
| Test.java:865:43:865:86 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:865:79:865:86 | source(...) : Object | semmle.label | source(...) : Object |
@@ -1790,15 +1722,11 @@ nodes
| Test.java:873:25:873:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | semmle.label | newWithMapValueDefault(...) : Bundle [<map.value>] : String |
| Test.java:873:48:873:55 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:874:22:874:23 | in : Bundle [<map.value>] : String | semmle.label | in : Bundle [<map.value>] : String |
| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | semmle.label | build(...) : Action [android.content.Intent.extras, <map.value>] : String |
| Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | semmle.label | build(...) : Action [android.content.Intent.extras, <map.value>] : String |
| Test.java:876:9:876:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, <map.value>] : String | semmle.label | out : Action [android.content.Intent.extras, <map.value>] : String |
| Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, <map.value>] : String | semmle.label | out : Action [android.content.Intent.extras, <map.value>] : String |
| Test.java:876:28:876:42 | getExtras(...) : Bundle [<map.value>] : String | semmle.label | getExtras(...) : Bundle [<map.value>] : String |
| Test.java:881:43:881:86 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:881:79:881:86 | source(...) : Object | semmle.label | source(...) : Object |
@@ -1919,21 +1847,17 @@ nodes
| Test.java:1042:25:1042:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | semmle.label | newWithMapKeyDefault(...) : Bundle [<map.key>] : String |
| Test.java:1042:46:1042:53 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:1043:18:1043:19 | in : Bundle [<map.key>] : String | semmle.label | in : Bundle [<map.key>] : String |
| Test.java:1044:9:1044:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.key>] : String |
| Test.java:1044:26:1044:40 | getExtras(...) : Bundle [<map.key>] : String | semmle.label | getExtras(...) : Bundle [<map.key>] : String |
| Test.java:1049:16:1049:56 | (...)... : Bundle [<map.value>] : String | semmle.label | (...)... : Bundle [<map.value>] : String |
| Test.java:1049:25:1049:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | semmle.label | newWithMapValueDefault(...) : Bundle [<map.value>] : String |
| Test.java:1049:48:1049:55 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:1050:18:1050:19 | in : Bundle [<map.value>] : String | semmle.label | in : Bundle [<map.value>] : String |
| Test.java:1051:9:1051:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | out : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:1051:28:1051:42 | getExtras(...) : Bundle [<map.value>] : String | semmle.label | getExtras(...) : Bundle [<map.value>] : String |
| Test.java:1056:36:1056:72 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:1056:65:1056:72 | source(...) : Object | semmle.label | source(...) : Object |
@@ -1949,15 +1873,11 @@ nodes
| Test.java:1071:25:1071:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | semmle.label | newWithMapValueDefault(...) : Bundle [<map.value>] : String |
| Test.java:1071:48:1071:55 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:1072:22:1072:23 | in : Bundle [<map.value>] : String | semmle.label | in : Bundle [<map.value>] : String |
| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | semmle.label | builder : Builder [android.content.Intent.extras, <map.value>] : String |
| Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | semmle.label | build(...) : Notification [extras, <map.value>] : String |
| Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | semmle.label | build(...) : Notification [extras, <map.value>] : String |
| Test.java:1074:9:1074:38 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:1074:28:1074:30 | out : Notification [extras, <map.value>] : String | semmle.label | out : Notification [extras, <map.value>] : String |
| Test.java:1074:28:1074:30 | out : Notification [extras, <map.value>] : String | semmle.label | out : Notification [extras, <map.value>] : String |
| Test.java:1074:28:1074:37 | out.extras : Bundle [<map.value>] : String | semmle.label | out.extras : Bundle [<map.value>] : String |
| Test.java:1079:36:1079:72 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:1079:65:1079:72 | source(...) : Object | semmle.label | source(...) : Object |

File diff suppressed because it is too large Load Diff

View File

@@ -891,6 +891,8 @@ module MakeImplCommon<LocationSig Location, InputSig<Location> Lang> {
nodeDataFlowType(this.asNode(), result)
or
nodeDataFlowType(this.asParamReturnNode(), result)
or
isTopType(result) and this.isImplicitReadNode(_)
}
pragma[inline]