Difference between revisions of "XCSG:Call"
Line 1: | Line 1: | ||
− | Call edges in XCSG indicate the presence of one or more calls within a particular scope, such as a [[Function]] or [[ | + | Call edges in XCSG indicate the presence of one or more calls within a particular scope, such as a [[Function]] or [[Statement]]. |
For calls which are statically resolved (such as calls to [[GlobalFunction]]s or [[ClassMethod]]s), a single call edge exists to the Function called. | For calls which are statically resolved (such as calls to [[GlobalFunction]]s or [[ClassMethod]]s), a single call edge exists to the Function called. | ||
Line 7: | Line 7: | ||
This may result in call edges that cannot occur in the running program, but is conservative in ensuring no possible calls to types that have been indexed were missed. Alternative strategies for call resolution are possible, | This may result in call edges that cannot occur in the running program, but is conservative in ensuring no possible calls to types that have been indexed were missed. Alternative strategies for call resolution are possible, | ||
− | Individual | + | Individual [[CallSite]]s are also represented in XCSG, but are not at the present time associated with Call edges. |
== Specification == | == Specification == |
Revision as of 17:57, 25 April 2014
Call edges in XCSG indicate the presence of one or more calls within a particular scope, such as a Function or Statement.
For calls which are statically resolved (such as calls to GlobalFunctions or ClassMethods), a single call edge exists to the Function called.
For dynamically resolved calls (such as virtual Methods), Call edges are created to the specified Function (if it is concrete) and every concrete method that Overrides it.
This may result in call edges that cannot occur in the running program, but is conservative in ensuring no possible calls to types that have been indexed were missed. Alternative strategies for call resolution are possible,
Individual CallSites are also represented in XCSG, but are not at the present time associated with Call edges.
Specification
Metaclass | Call |
---|---|
Extends | Edge |
Description | Indicates the possibility of one or more calls to the Function pointed to within the Function or ControlFlow node that the edge comes from. |