Difference between revisions of "XCSG:Return"
From AtlasWiki
Line 1: | Line 1: | ||
+ | A Return node represents a return statement in data flow. | ||
+ | |||
+ | Forward data flow from a Return node always connects to a [[MasterReturn]] node using [[LocalDataFlow]] edges, which is in turn connected to locations that the [[Function]] can return to using [[InterproceduralDataFlow]] edges. | ||
+ | |||
== Specification == | == Specification == | ||
{{Node | {{Node |
Revision as of 18:50, 6 May 2014
A Return node represents a return statement in data flow.
Forward data flow from a Return node always connects to a MasterReturn node using LocalDataFlow edges, which is in turn connected to locations that the Function can return to using InterproceduralDataFlow edges.
Specification
Metaclass | Return |
---|---|
Extends | DataFlow (Node) |
Description | A value that can be the return of a Function, corresponding to a specific return statement. |
All Superkinds | DataFlow (Node), Node, ModelElement |
---|
Specified In Edges
| ||||
---|---|---|---|---|
Inherited From | In Edge | Predecessor | Multiplicity | Description |
DataFlow (Node) | DataFlow (Edge) | DataFlow (Node) | ✱ | Connects DataFlow nodes to one another and to Variables, linking the origin of data to locations that it is modified or consumed. |
Variable | ✱ |
Specified Out Edges
| ||||
---|---|---|---|---|
Inherited From | Out Edge | Successor | Multiplicity | Description |
DataFlow (Node) | ArrayIdentityFor | ArrayAccess | 1 | Connects a DataFlow (Node) containing an array reference or pointer to the ArrayAccess representing the associated ArrayRead or ArrayWrite.
|
ArrayIndexFor | ArrayAccess | 1 | Connects a DataFlow (Node) containing a value used as an array index to the ArrayAccess representing the associated ArrayRead or ArrayWrite. | |
Java:ArrayLengthPassedTo | ArrayInstantiation | 1 | Connects a DataFlow (Node) representing the integer length expression to an ArrayInstantiation. | |
DataFlow (Edge) | DataFlow (Node) | ✱ | Connects DataFlow nodes to one another and to Variables, linking the origin of data to locations that it is modified or consumed.
| |
Variable | ✱ | |||
DefinedAs | TypeAlias | 0..1 | Connects a Variable or DataFlow node which received its Type via a TypeAlias (such as a C/C++ typedef) to that TypeAlias. | |
InstanceVariableWritten | InstanceVariableAssignment | ✱ | Connects a value (DataFlow (Node) or Variable) representing an object instance to an InstanceVariableAssignment representing a write to a field of that object. | |
TypeOf | Type | 1 | Links a Variable or DataFlow node to its Type |
Known Possible In Edges
| ||||
---|---|---|---|---|
Inherited From | In Edge | Predecessor | Multiplicity | Description |
DataFlow (Node) | InterproceduralDataFlow | Variable | ✱ | Represents data flows between Functions, or involving Variables visible to multiple Functions.
|
LocalDataFlow | Parameter | ✱ | Within the scope of a particular Function, connects Parameters to DataFlow nodes, and DataFlow nodes to one another, indicating flow of information within that Function.
| |
DataFlow (Node) | ✱ | |||
ProgramVariable | ✱ | |||
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
| ||||
---|---|---|---|---|
Inherited From | Out Edge | Successor | Multiplicity | Description |
DataFlow (Node) | LocalDataFlow | DataFlow (Node) | ✱ | Within the scope of a particular Function, connects Parameters to DataFlow nodes, and DataFlow nodes to one another, indicating flow of information within that Function. |
Node | Contains | Node | ✱ | Indicates that the predecessor contains the successor in a sense specified by the specific type of Contains edge. |