ConstWhether the subtree always jumps away instead of being left normally, i.e. whether a non-default exit point happens in every branch.
Whatever from completes at continues with target, but only under the given control dependency.
Hand over the very dependency the vertices behind the branch carry, so both say the same thing.
Whether the subtree can be left normally instead of always jumping away.
Whatever from completes at continues with next.
The node control flow enters the given subtree at.
The parts run one after the other and the last one continues with last, if it is given.
Parts that are undefined are skipped, which keeps optional arguments cheap to handle.
Optionallast: NodeIdthe node control flow enters the sequence at, or last if there is nothing to enter
Whether the node runs as part of a larger expression instead of as a statement of its own.
Whether the node runs as a statement of the program instead of as part of a larger expression. Assignments count as statements wherever they stand.
Every jump of the given kind within from lands on target.
Readonlyname: "ControlFlow"The parts before from run in sequence, the ones after it are alternatives of which at most one runs.
Whichever one it is, control joins on joinsAt.
the graph to record in
the arguments of the call, in the order they run
the index the alternatives start at
the call the alternatives belong to
whether one alternative runs when none of the others matched
the node control flow enters the call at
Records the control flow of a program in the DataflowGraph while the dataflow analysis walks it. The ControlFlowGraph is a view on what is recorded here.
The control flow is modeled in post-order: everything a construct is made of runs before the construct itself, so its own vertex is where its parts join again and where it is left.