Difference between revisions of "XCSG:InterproceduralDataFlow"

From AtlasWiki
Jump to: navigation, search
(Specification)
 
(11 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
{{Edge
 
{{Edge
 
| extends = DataFlow (Edge)
 
| extends = DataFlow (Edge)
| description = Represents [[DataFlow (Edge){{!}}data flows]] between methods, and data flows involving [[Field]]s, [[GlobalVariable]]s, and [[StaticLocalVariable]]s, which may likewise transfer data between methods, and may in addition be contended by multiple threads.
+
| description = Represents [[DataFlow (Edge){{!}}data flows]] between [[Function]]s, or involving [[Variable]]s visible to multiple Functions.
 +
| permitted = Variable,DataFlow (Node),*,*;Assignment,Variable,*,0..1
 +
| specified = ParameterPass,Parameter,*,1;Assignment,ProgramVariable,*,0..1;ReturnValue,StaticDispatchCallSite,1,*;ReturnValue,DynamicDispatchCallSite,1..*,*;ReturnValue,FunctionPointerCallSite,1..*,*
 
}}
 
}}

Latest revision as of 15:21, 27 October 2015

Specification

Metaclass InterproceduralDataFlow
Extends DataFlow (Edge)
Description Represents data flows between Functions, or involving Variables visible to multiple Functions.
Permitted Connections
Predecessor Multiplicity Successor
Variable ✱ ➞ ✱ DataFlow (Node)
Assignment ✱ ➞ 0..1 Variable
Specified Connections
Predecessor Multiplicity Successor
ParameterPass ✱ ➞ 1 Parameter
Assignment ✱ ➞ 0..1 ProgramVariable
ReturnValue 1 ➞ ✱ StaticDispatchCallSite
ReturnValue 1..✱ ➞ ✱ DynamicDispatchCallSite
ReturnValue 1..✱ ➞ ✱ FunctionPointerCallSite