Difference between revisions of "XCSG:Method"
From AtlasWiki
(switching to node template) |
|||
Line 1: | Line 1: | ||
− | + | A Method [[Contains|contained]] in a [[Class]] is a [[Function]] with an implicit <code>this</code> [[parameter]], which is reified in an XCSG graph; [[InnerClass|inner classes]] have additional implicit parameters, which are likewise reified. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
== Specification == | == Specification == | ||
{{Node | {{Node | ||
− | | extends = | + | | extends = Function |
− | | description = | + | | description = A [[Function]] associated with a [[Classifier]] or an instance of a [[Classifier]]. |
| references = [5, p. 2-14, Figure 2-5], [5, pp. 2-47, 2-66], [5, p. B-11, method], [26, CodeMemberMethod], .method [27, p. 14], .method [36, p. 34, 2.6] | | references = [5, p. 2-14, Figure 2-5], [5, pp. 2-47, 2-66], [5, p. B-11, method], [26, CodeMemberMethod], .method [27, p. 14], .method [36, p. 34, 2.6] | ||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 12:18, 17 April 2014
A Method contained in a Class is a Function with an implicit this
parameter, which is reified in an XCSG graph; inner classes have additional implicit parameters, which are likewise reified.
Specification
Metaclass | Method |
---|---|
Extends | Function |
Description | A Function associated with a Classifier or an instance of a Classifier. |
Direct Subkinds | ClassMethod, Constructor, InstanceMethod |
---|
All Superkinds | Function, Node, ModelElement |
---|
Specified In Edges | ||||
---|---|---|---|---|
In Edge | Predecessor | Multiplicity | Description | |
InvokedSignature | DynamicDispatchCallSite | ✱ | Connects a DynamicDispatchCallSite to the definition of the invoked Method of the InvokedType; if the Method is not defined or overridden in the InvokedType, it points to the inherited Method.
| |
Inherited From | In Edge | Predecessor | Multiplicity | Description |
Function | Call | Function | ✱ | Indicates the possibility of one or more calls to the Function pointed to within the Function that the edge comes from.
|
InvokedFunction | StaticCallSite | ✱ | Connects a StaticCallSite to the exact Function called. | |
ReadsFunctionAddress | Function | 1 | Connects a Function to a Function that it takes the address of. |
Specified Out Edges | ||||
---|---|---|---|---|
Out Edge | Successor | Multiplicity | Description | |
Java:AnnotatedWith | Java:Annotation | ✱ | Connects a Java element to an annotation on that Java element.
| |
Inherited From | Out Edge | Successor | Multiplicity | Description |
Function | Call | Function | ✱ | Indicates the possibility of one or more calls to the Function pointed to within the Function that the edge comes from.
|
HasControlFlow | ControlFlow (Node) | ✱ | Connects a Function to any ControlFlow (Node)s it contains. | |
HasParameter | Parameter | ✱ | Connects a Function to a Parameter of that Function. | |
HasReturnValue | ReturnValue | 0..1 | Connects a (non-void) Function to its MasterReturn node. | |
ReadsFunctionAddress | Function | ✱ | Connects a Function to a Function that it takes the address of. | |
ReadsVariable | InstanceVariable | ✱ | Connects a Function to a InstanceVariable or ProgramVariable that it reads.
| |
ProgramVariable | ✱ | |||
Returns | Type | 1 | Connects a Function to the Type of its return value (which may be Void). |
Known Possible In Edges
| ||||
---|---|---|---|---|
Inherited From | In Edge | Predecessor | Multiplicity | Description |
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 | ||||
---|---|---|---|---|
Out Edge | Successor | Multiplicity | Description | |
Java:ThrowsClause | Java:Class | ✱ | Indicates a Java Method specifies that it may throw an exception of the indicated type (which must extend java.lang.Throwable).
| |
Inherited From | Out Edge | Successor | Multiplicity | Description |
Node | Contains | Node | ✱ | Indicates that the predecessor contains the successor in a sense specified by the specific type of Contains edge. |