mirror of
https://github.com/github/codeql.git
synced 2026-04-27 17:55:19 +02:00
C#/C++/Java: Unbreak partial data flow support
Partial data flow had a semantic merge conflict with this branch. The problem is that partial data flow doesn't (and shouldn't) cause the initial pruning steps to run, but the length-2 access paths depend on the `consCand` information that comes from that initial pruning. The solution is to restore the old `AccessPath` class, now called `PartialAccessPath` for use only by partial data flow. With this change, partial data flow will in some cases allow more field flow than non-partial data flow.
This commit is contained in:
@@ -1,4 +1,14 @@
|
||||
edges
|
||||
| A.java:12:5:12:5 | b [post update] [elem, ... (1)] | A.java:13:12:13:12 | b [elem, ... (1)] |
|
||||
| A.java:12:14:12:18 | src(...) [Object] | A.java:12:5:12:5 | b [post update] [elem, ... (1)] |
|
||||
| A.java:12:14:12:18 | src(...) [Object] | A.java:12:5:12:18 | ...=... [Object] |
|
||||
| A.java:13:12:13:12 | b [elem, ... (1)] | A.java:17:13:17:16 | f1(...) [elem, ... (1)] |
|
||||
| A.java:17:13:17:16 | f1(...) [elem, ... (1)] | A.java:18:8:18:8 | b [elem, ... (1)] |
|
||||
| A.java:18:8:18:8 | b [elem, ... (1)] | A.java:21:11:21:15 | b [elem, ... (1)] |
|
||||
#select
|
||||
| 0 | A.java:12:5:12:5 | b [post update] [elem, ... (1)] |
|
||||
| 0 | A.java:12:5:12:18 | ...=... [Object] |
|
||||
| 0 | A.java:13:12:13:12 | b [elem, ... (1)] |
|
||||
| 1 | A.java:17:13:17:16 | f1(...) [elem, ... (1)] |
|
||||
| 1 | A.java:18:8:18:8 | b [elem, ... (1)] |
|
||||
| 2 | A.java:21:11:21:15 | b [elem, ... (1)] |
|
||||
|
||||
Reference in New Issue
Block a user