Difference between revisions of "XCSG:ControlFlow (Node)"
From AtlasWiki
(→Specification: adding controlFlowCondition tag) |
|||
Line 17: | Line 17: | ||
| name = controlFlowExitPoint | | name = controlFlowExitPoint | ||
| description = Present on a ControlFlow node if it is a possible exit point for the [[Function]] it is in. | | description = Present on a ControlFlow node if it is a possible exit point for the [[Function]] it is in. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} |
Latest revision as of 15:49, 22 October 2015
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. |