XCSG:ControlFlow (Node)

From AtlasWiki
Jump to: navigation, search

A ControlFlow node represents a portion of a Method, usually a simple statement or a portion of a compound statement (such as the initialization, condition, and update expressions of a for loop).

In rare cases, a ControlFlow node may exist simply to provide additional structure, this is the case for the MasterLoopNode of do-while loops.

Specification

Metaclass ControlFlow (Node)
Extends Node
Description Represents a simple statement, or a portion of a compound statement that plays a role in the control flow of a Method.
Direct Subkinds Break, Continue, ControlFlowCondition, Loop
All Superkinds Node, ModelElement
Specified In Edges
In Edge Predecessor Multiplicity Description
HasControlFlow Function 1 Connects a Function to any ControlFlow (Node)s it contains.
LoopChild Loop 0..1 Connects a Loop node to ControlFlow (Node)
Known Possible In Edges
In Edge Predecessor Multiplicity Description
ControlFlow (Edge) ControlFlow (Node) Links Control Flow nodes to other ControlFlow nodes that follow them in the program order of a Function declaration. Multiple edges from the same ControlFlow node indicate branching of control flow.
ControlFlowBackEdge ControlFlow (Node) A ControlFlow edge representing a branch or jump to an earlier location in the same Function, due to a loop or goto.

Inherited From In Edge Predecessor Multiplicity Description
Node Contains Node 1 Indicates that the predecessor contains the successor in a sense specified by the specific type of Contains edge.
Known Possible Out Edges
Out Edge Successor Multiplicity Description
ControlFlow (Edge) ControlFlow (Node) Links Control Flow nodes to other ControlFlow nodes that follow them in the program order of a Function declaration. Multiple edges from the same ControlFlow node indicate branching of control flow.
ControlFlowBackEdge ControlFlow (Node) A ControlFlow edge representing a branch or jump to an earlier location in the same Function, due to a loop or goto.

Inherited From Out Edge Successor Multiplicity Description
Node Contains Node Indicates that the predecessor contains the successor in a sense specified by the specific type of Contains edge.
Tag controlFlowRoot
Description Present on the ControlFlow node representing the entry point of the Function it is contained in.
Tag controlFlowExitPoint
Description Present on a ControlFlow node if it is a possible exit point for the Function it is in.