Skip to content

Unified: Add flow through calls (static calls only) - #22611

Draft
asgerf wants to merge 27 commits into
github:mainfrom
asgerf:unified/call-graph-static
Draft

asgerf wants to merge 27 commits into
github:mainfrom
asgerf:unified/call-graph-static

Conversation

@asgerf

@asgerf asgerf commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Enables flow through calls, using a basic call graph derived from static name resolution.

Most of the work is wiring up argument/parameter positions and post-update nodes correctly.

Comment thread unified/ql/lib/codeql/unified/internal/dataflow/DataFlowNode.qll Fixed
Comment thread unified/ql/lib/codeql/unified/internal/dev/debugDataFlowGraph.ql Fixed
@asgerf
asgerf force-pushed the unified/call-graph-static branch 4 times, most recently from e9da755 to a916e8b Compare September 18, 2026 12:02
@asgerf asgerf changed the title Unified: Static calls Unified: Add flow through calls (static calls only) Sep 18, 2026
@asgerf
asgerf force-pushed the unified/call-graph-static branch from 0f11ca1 to 032b47b Compare September 19, 2026 08:11
A parameter with only one name has that name as its internal and external parameter name.
The previous commit resulted in data-flow consistency errors due to
having local flow into a post-update node (for good reason).

We now skip over the synthetic read node in use-use flow, so the use-use
flow is not seen as a mutation of a variable.
This changes the type from Expr -> AstNode and renames the column.

This should just be an arbitrary representative for the access; it
does not have to be an Expr.
Note that some of them are failing because 'self.store()' is not
resolved by static name binding.
This should be taken from the CFG node instead of the AST node
This fixes a data flow consistency error due to ArgumentNodes for
constructor patterns missing their PostUpdateNode.
@asgerf
asgerf force-pushed the unified/call-graph-static branch from 032b47b to 832dfb4 Compare September 19, 2026 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants