improvement(semantic/cfg): better break and continue flow.#3462
Conversation
Your org has enabled the Graphite merge queue for merging into mainAdd the label “merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix. You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link. |
CodSpeed Performance ReportMerging #3462 will not alter performanceComparing Summary
|
857840a to
3482d50
Compare
968a4af to
7d75efc
Compare
3482d50 to
c71f0fa
Compare
7d75efc to
f22307a
Compare
c71f0fa to
ff3f37d
Compare
|
I sometimes don't understand how graphite works, why is conflicting on everything 🤔 |
f22307a to
f4cd08a
Compare
I don't know why it was conflicting either, I've restacked it and it went without any conflicts. It might be the |
|
Nope, seems like there is still something wrong, I'll fix it and let you know. |
4821d02 to
56baa5d
Compare
|
@Boshen OK, I can confirm it was the |
Merge activity
|
This PR adds a new edge type called `Jump` to distinguish between normal edges and jumps. There is also a control flow context which is used to keep track of cfg scopes and labels. It replaces the old `preserve_state` and `restore_state`. It corrects some mistakes - such as labeled blocks especially labeled continue which wasn't easy to implement with the old approach - in the old control flow but other than that it is mostly refactored to have a more declarative API instead of a procedural approach.
56baa5d to
3c7ee85
Compare

This PR adds a new edge type called
Jumpto distinguish between normal edges and jumps.There is also a control flow context which is used to keep track of cfg scopes and labels. It replaces the old
preserve_stateandrestore_state.It corrects some mistakes - such as labeled blocks especially labeled continue which wasn't easy to implement with the old approach - in the old control flow but other than that it is mostly refactored to have a more declarative API instead of a procedural approach.