Python: Include all assignments in data flow paths #13738
Draft
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.
Like Ruby did in #12566
Screenshots show last step before reaching the final sink (
fooineval(foo))OLD
NEW
I don't know why we're still seeing the attribute read step though, like the one from the😅
requestinrequest.args.get("name")torequest.args. I had actually thought they would go away when removingreadStep(_, _, n)fromneverSkipInPathGraph. I don't think these steps are very useful, since they're both part of the same statement, so would be nice to be able to get rid of themI used
DefinitionNodesince that would easily allow me to use the RHS of both normal assignments and augmented assignments (+=), but I'm not entirely sure if it has precisely the right logic around tuple assignments... will have to check that out in more detail!(draft PR because I expect a lot of .expected files to need updating)