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 3: | Line 3: | ||
| extends = DataFlow (Edge) | | extends = DataFlow (Edge) | ||
| 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 |
+ | | specified = ParameterPass,Parameter,*,1;Assignment,ProgramVariable,*,0..1;MasterReturn,StaticCallSite,1,*;MasterReturn,DynamicCallSite,1..*,*;MasterReturn,FunctionPointerCallSite,1..*,* | ||
}} | }} |
Revision as of 17:24, 5 June 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 |
ParameterPass | ✱ ➞ 1 | Parameter |
Assignment | ✱ ➞ 0..1 | ProgramVariable |
MasterReturn | 1 ➞ ✱ | StaticCallSite |
MasterReturn | 1..✱ ➞ ✱ | DynamicCallSite |
MasterReturn | 1..✱ ➞ ✱ | FunctionPointerCallSite |