Difference between revisions of "XCSG:Method"
From AtlasWiki
(15 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | A Method is either a [[ClassMethod]] or an [[InstanceMethod]], it is a [[Function]] [[Contains|contained]] in a [[Classifier]]. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
== Specification == | == Specification == | ||
− | {| | + | {{Node |
− | + | | extends = Function | |
− | + | | 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] | |
− | + | }} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | | [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] | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == | + | {{XCSGTag |
+ | | name = abstractMethod | ||
+ | | description = Present if the method is unimplemented, in which case it must be [[Contains|contained]] in an [[Interface]] or [[abstractClass]]. | ||
+ | }} | ||
− | {| | + | {{XCSGTag |
− | + | | name = java.finalMethod | |
− | + | | description = Present if the method may not be overriden by subtypes of the class in which the method is found | |
− | + | }} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | {| | + | {{XCSGTag |
− | + | | name = java.lambdaMethod | |
− | + | | description = Indicates that a method corresponds to a lambda or method reference expression. | |
− | + | }} | |
− | + | ||
− | + | ||
− | + | ||
− | == | + | {{XCSGTag |
+ | | name = java.defaultMethod | ||
+ | | description = Indicates that a method defines a default implementation for an interface. | ||
+ | }} | ||
− | {| | + | {{XCSGTag |
− | + | | name = java.synchronizedMethod | |
− | | InstanceMethod | + | | description = Indicates that a method is synchronized by locking on the instance it was called on (for an [[XCSG:InstanceMethod|InstanceMethod]]), or, in the case of a [[XCSG:ClassMethod|ClassMethod]], that it locks on the associated Class object. |
− | + | }} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | {| | + | {{XCSGTag |
− | + | | name = java.nativeMethod | |
− | + | | description = Indicates that a method's implementation is provided in another language, typically C or C++, via the Java Native Interface (JNI). | |
− | + | }} | |
− | + | ||
− | + | ||
− | + |
Latest revision as of 15:21, 15 December 2015
A Method is either a ClassMethod or an InstanceMethod, it is a Function contained in a Classifier.
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. |
Tag | abstractMethod |
---|---|
Description | Present if the method is unimplemented, in which case it must be contained in an Interface or abstractClass. |
Tag | java.finalMethod |
---|---|
Description | Present if the method may not be overriden by subtypes of the class in which the method is found |
Tag | java.lambdaMethod |
---|---|
Description | Indicates that a method corresponds to a lambda or method reference expression. |
Tag | java.defaultMethod |
---|---|
Description | Indicates that a method defines a default implementation for an interface. |
Tag | java.synchronizedMethod |
---|---|
Description | Indicates that a method is synchronized by locking on the instance it was called on (for an InstanceMethod), or, in the case of a ClassMethod, that it locks on the associated Class object. |
Tag | java.nativeMethod |
---|---|
Description | Indicates that a method's implementation is provided in another language, typically C or C++, via the Java Native Interface (JNI). |