Difference between revisions of "XCSG:InterproceduralDataFlow"
From AtlasWiki
(→Specification: Added specific connections between MasterReturn nodes and CallSites, moved less specific connections to "permitted", corrected Assignment->ProgramVariable (not every Assignment goes to one)) |
|||
Line 4: | Line 4: | ||
| description = Represents [[DataFlow (Edge){{!}}data flows]] between [[Function]]s, or involving [[Variable]]s visible to multiple Functions. | | 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 | | permitted = Variable,DataFlow (Node),*,*;Assignment,Variable,*,0..1 | ||
− | | specified = | + | | specified = ParameterInput,Parameter,*,1;Assignment,ProgramVariable,*,0..1;MasterReturn,StaticCallSite,1,*;MasterReturn,DynamicCallSite,1..*,*;MasterReturn,FunctionPointerCallSite,1..*,* |
}} | }} |
Revision as of 15:30, 15 September 2014
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 |
ParameterInput | ✱ ➞ 1 | Parameter |
Assignment | ✱ ➞ 0..1 | ProgramVariable |
MasterReturn | 1 ➞ ✱ | StaticCallSite |
MasterReturn | 1..✱ ➞ ✱ | DynamicCallSite |
MasterReturn | 1..✱ ➞ ✱ | FunctionPointerCallSite |