I am adding the concept of #mergeBlock to the CFG, especially for Python.
A merge block for a conditional block is the first node present in all branches of the condition.
It means that it is the first node following the conditional statement (if, switch, for, while, try...)
I managed most cases, but I detected a bug in the way I handled it when we have break and continue statements in the branches of a conditional in a loop.
I'll not have the time to fix it for now, but I want to keep a trace of this issue.
We should carefully review how merge points should be managed in those cases to cover those.
I am adding the concept of #mergeBlock to the CFG, especially for Python.
A merge block for a conditional block is the first node present in all branches of the condition.
It means that it is the first node following the conditional statement (if, switch, for, while, try...)
I managed most cases, but I detected a bug in the way I handled it when we have break and continue statements in the branches of a conditional in a loop.
I'll not have the time to fix it for now, but I want to keep a trace of this issue.
We should carefully review how merge points should be managed in those cases to cover those.