-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Python: Basic implementation of variable capture #14944
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
6db55cd
Python: add missing annotation
yoff c054ba6
python: instantiate module for variable capture
yoff b513871
Python: add consistency exclusions
yoff 797deeb
Python: exclude `CaptureNode`s
yoff 7565873
Python: test callbacks to library calls
yoff 17a0029
Python: support callbacks to library calls
yoff 453ab9c
Python: restrict `LibraryLambdaMethod`
yoff 061fd01
Python: further restrict `LibraryLambdaMethod`
yoff 5471c92
Python: exclusion for summary nodes
yoff efcdb3e
Python: filter local flow from a node to itself
yoff f32d5e4
Python: typo
yoff 38e0321
Python: allow `CaptureArgumentNode`s as multiple arguemnts
yoff 479d81f
Python: fix nonlocal captured variables
yoff 2a5736e
Python: add consistency exception
yoff b6123de
Python: simplify assignments to captured variables
yoff abd544d
Python: consistency failure gone
yoff c395d2d
Apply suggestions from code review
yoff f96c52e
Python: make compile again
yoff 2051ba3
Python: hide synthesized capture nodes
yoff 262d43a
Python: Make compile and add comment
yoff bfdcae4
Python : `P` -> `PY`
yoff 5b6ea15
Python: remove unneeded consistency exclusion
yoff d3b237b
Python: rename synthetic lambda nodes
yoff 4b89a41
Update python/ql/lib/semmle/python/dataflow/new/internal/DataFlowDisp…
yoff a311582
Python: Bring back (now simplified) exclusion
yoff b07316f
Update python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPriv…
yoff 739b839
Python: use updated names
yoff f668453
Python: move things around
yoff e1bf282
Python: split variable capture instantiation out
yoff 8601105
Python: Address TODO comment
yoff 1ee11ae
Merge branch 'main' of https://github.com/github/codeql into python/c…
yoff 416ba6a
Python: use updated API
yoff e36b079
Python: fix compilation error
yoff 4a1fcde
Python: abandon synthetic node
yoff 5de1725
Python: update class name
yoff 661ba1c
Python: move restriction into branch predicate
yoff b505778
Python: remove non-local steps
yoff 64655a0
Python: Use enw class name
yoff d6544cc
Python: remove consistency exclusion
yoff c88d686
Python: move `SynthCapturePostUpdateNode`
yoff bf1ad23
Python: add comments
yoff 25c83dc
Python: adjust comment
yoff 7324177
Python: address QL alerts
yoff 86bb884
Python: better comment
yoff 456209b
Python: Move predicate closer to its use
yoff c0b3d98
Python: Add a bit more detail to comment.
yoff 6e4011d
Python: rename sythetic nodes
yoff 78c484f
Python: remove support for capturing callbacks
yoff 8b7b582
Python: add change-note
yoff a60c52b
Merge branch 'main' into python/captured-variables-basic
yoff 1417c2c
Update python/ql/lib/change-notes/2023-12-18-support-variable-capture.md
yoff f8417b0
Merge branch 'main' of https://github.com/github/codeql into python/c…
yoff 3cea46f
Python: fix typos
yoff afb3d1d
Python: move capture node to DataFlowPrivate
yoff 491ca3f
Python: hide synthetic variable node
yoff 215b146
Python: remove unused member predicate
yoff 45411f4
Python: make it a real consistency check
yoff 706e9dc
Python: fix compilation
yoff d039ceb
Python: add test for fields
yoff 0f89f69
Python: fix VariableWrite and remove unneded step
yoff da4aef8
Revert "Python: make it a real consistency check"
yoff File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 4 additions & 0 deletions
4
python/ql/lib/change-notes/2023-12-18-support-variable-capture.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
--- | ||
category: majorAnalysis | ||
--- | ||
* Added support for global data-flow through captured variables. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.