diff --git a/source/tests/integration/end-to-end/code/strong_update/Flow.java b/source/tests/integration/end-to-end/code/strong_update/Flow.java index f5fa078b..44958c25 100644 --- a/source/tests/integration/end-to-end/code/strong_update/Flow.java +++ b/source/tests/integration/end-to-end/code/strong_update/Flow.java @@ -17,7 +17,7 @@ public void add_generation() { this.field = new Object(); } - public void issue_generation() { + public void no_issue_generation() { add_generation(); Origin.sink(this.field); } @@ -44,7 +44,7 @@ public Object field_getter() { return this.field; } - public void sink_false_positive() { + public void no_issue_inlining() { field_setter(new Object()); Origin.sink(field_getter()); } diff --git a/source/tests/integration/end-to-end/code/strong_update/expected_call_graph.json b/source/tests/integration/end-to-end/code/strong_update/expected_call_graph.json index d0194504..d1433065 100644 --- a/source/tests/integration/end-to-end/code/strong_update/expected_call_graph.json +++ b/source/tests/integration/end-to-end/code/strong_update/expected_call_graph.json @@ -225,30 +225,30 @@ "Ljava/lang/Object;.:()V" ] }, - "Lcom/facebook/marianatrench/integrationtests/Flow;.issue_generation:()V" : + "Lcom/facebook/marianatrench/integrationtests/Flow;.issue_propagation:()V" : { "static" : [ - "Lcom/facebook/marianatrench/integrationtests/Origin;.sink:(Ljava/lang/Object;)V" + "Lcom/facebook/marianatrench/integrationtests/Origin;.sink:(Ljava/lang/Object;)V", + "Lcom/facebook/marianatrench/integrationtests/Origin;.source:()Ljava/lang/Object;" ], "virtual" : [ - "Lcom/facebook/marianatrench/integrationtests/Flow;.add_generation:()V" + "Lcom/facebook/marianatrench/integrationtests/Flow;.add_propagation:(Ljava/lang/Object;)V" ] }, - "Lcom/facebook/marianatrench/integrationtests/Flow;.issue_propagation:()V" : + "Lcom/facebook/marianatrench/integrationtests/Flow;.no_issue_generation:()V" : { "static" : [ - "Lcom/facebook/marianatrench/integrationtests/Origin;.sink:(Ljava/lang/Object;)V", - "Lcom/facebook/marianatrench/integrationtests/Origin;.source:()Ljava/lang/Object;" + "Lcom/facebook/marianatrench/integrationtests/Origin;.sink:(Ljava/lang/Object;)V" ], "virtual" : [ - "Lcom/facebook/marianatrench/integrationtests/Flow;.add_propagation:(Ljava/lang/Object;)V" + "Lcom/facebook/marianatrench/integrationtests/Flow;.add_generation:()V" ] }, - "Lcom/facebook/marianatrench/integrationtests/Flow;.sink_false_positive:()V" : + "Lcom/facebook/marianatrench/integrationtests/Flow;.no_issue_inlining:()V" : { "static" : [ diff --git a/source/tests/integration/end-to-end/code/strong_update/expected_dependencies.json b/source/tests/integration/end-to-end/code/strong_update/expected_dependencies.json index 5a7ac3ae..758bd689 100644 --- a/source/tests/integration/end-to-end/code/strong_update/expected_dependencies.json +++ b/source/tests/integration/end-to-end/code/strong_update/expected_dependencies.json @@ -33,7 +33,7 @@ ], "Lcom/facebook/marianatrench/integrationtests/Flow;.add_generation:()V" : [ - "Lcom/facebook/marianatrench/integrationtests/Flow;.issue_generation:()V" + "Lcom/facebook/marianatrench/integrationtests/Flow;.no_issue_generation:()V" ], "Lcom/facebook/marianatrench/integrationtests/Flow;.add_propagation:(Ljava/lang/Object;)V" : [ @@ -41,17 +41,17 @@ ], "Lcom/facebook/marianatrench/integrationtests/Flow;.field_getter:()Ljava/lang/Object;" : [ - "Lcom/facebook/marianatrench/integrationtests/Flow;.sink_false_positive:()V" + "Lcom/facebook/marianatrench/integrationtests/Flow;.no_issue_inlining:()V" ], "Lcom/facebook/marianatrench/integrationtests/Flow;.field_setter:(Ljava/lang/Object;)V" : [ - "Lcom/facebook/marianatrench/integrationtests/Flow;.sink_false_positive:()V" + "Lcom/facebook/marianatrench/integrationtests/Flow;.no_issue_inlining:()V" ], "Lcom/facebook/marianatrench/integrationtests/Origin;.sink:(Ljava/lang/Object;)V" : [ - "Lcom/facebook/marianatrench/integrationtests/Flow;.issue_generation:()V", "Lcom/facebook/marianatrench/integrationtests/Flow;.issue_propagation:()V", - "Lcom/facebook/marianatrench/integrationtests/Flow;.sink_false_positive:()V" + "Lcom/facebook/marianatrench/integrationtests/Flow;.no_issue_generation:()V", + "Lcom/facebook/marianatrench/integrationtests/Flow;.no_issue_inlining:()V" ], "Lcom/facebook/marianatrench/integrationtests/Origin;.source:()Ljava/lang/Object;" : [ @@ -101,7 +101,7 @@ "Lcom/facebook/marianatrench/integrationtests/Flow;.:()V", "Lcom/facebook/marianatrench/integrationtests/Flow;.add_generation:()V", "Lcom/facebook/marianatrench/integrationtests/Flow;.add_propagation:(Ljava/lang/Object;)V", - "Lcom/facebook/marianatrench/integrationtests/Flow;.sink_false_positive:()V", + "Lcom/facebook/marianatrench/integrationtests/Flow;.no_issue_inlining:()V", "Lcom/facebook/marianatrench/integrationtests/Origin;.:()V", "Lcom/facebook/marianatrench/integrationtests/Origin;.source:()Ljava/lang/Object;", "Lcom/facebook/secure/context/IntentLauncher;.:()V", diff --git a/source/tests/integration/end-to-end/code/strong_update/expected_output.json b/source/tests/integration/end-to-end/code/strong_update/expected_output.json index 0fe13f80..b27a0e82 100644 --- a/source/tests/integration/end-to-end/code/strong_update/expected_output.json +++ b/source/tests/integration/end-to-end/code/strong_update/expected_output.json @@ -984,45 +984,6 @@ } ] } -{ - "method" : "Lcom/facebook/marianatrench/integrationtests/Flow;.issue_generation:()V", - "position" : - { - "line" : 20, - "path" : "Flow.java" - }, - "sinks" : - [ - { - "port" : "Argument(0).field", - "taint" : - [ - { - "kinds" : - [ - { - "call_info" : "Origin", - "kind" : "Sink", - "origins" : - [ - "Lcom/facebook/marianatrench/integrationtests/Origin;.sink:(Ljava/lang/Object;)V" - ] - } - ], - "origin" : - { - "method" : "Lcom/facebook/marianatrench/integrationtests/Origin;.sink:(Ljava/lang/Object;)V", - "position" : - { - "line" : 22, - "path" : "Flow.java" - } - } - } - ] - } - ] -} { "generations" : [ @@ -1181,7 +1142,46 @@ ] } { - "method" : "Lcom/facebook/marianatrench/integrationtests/Flow;.sink_false_positive:()V", + "method" : "Lcom/facebook/marianatrench/integrationtests/Flow;.no_issue_generation:()V", + "position" : + { + "line" : 20, + "path" : "Flow.java" + }, + "sinks" : + [ + { + "port" : "Argument(0).field", + "taint" : + [ + { + "kinds" : + [ + { + "call_info" : "Origin", + "kind" : "Sink", + "origins" : + [ + "Lcom/facebook/marianatrench/integrationtests/Origin;.sink:(Ljava/lang/Object;)V" + ] + } + ], + "origin" : + { + "method" : "Lcom/facebook/marianatrench/integrationtests/Origin;.sink:(Ljava/lang/Object;)V", + "position" : + { + "line" : 22, + "path" : "Flow.java" + } + } + } + ] + } + ] +} +{ + "method" : "Lcom/facebook/marianatrench/integrationtests/Flow;.no_issue_inlining:()V", "position" : { "line" : 47,