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
Update: support logical assignments in code path analysis (refs #13569) #13612
Conversation
6bc7657
to
faa0094
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good as far as I can tell based on the dot graphs, though as with most things code path-related, I'd feel better if @mysticatea had a chance to take a look.
Good catch on the (a && b) ?? c
issue. Since that's a pre-existing bug, I agree with leaving it alone in this PR 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
I'm sorry that I have not tackled this, and thank you very much!
These code changes are completely same as my local's (including spaces, but except comments and tests).
Thanks for working on this! |
Prerequisites checklist
What is the purpose of this pull request? (put an "X" next to an item)
[X] Add something to the core
refs #13569
Adds support for logical assignments in code path analysis.
What changes did you make? (Give an overview)
Updated code path analysis to account for short-circuiting semantics of logical assignments.
Is there anything you'd like reviewers to focus on?
(a &&= b) ?? c
works in line with how(a && b) ?? c
already works, but I think(a && b) ?? c
isn't entirely correct (#13614).