|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
DefExternalMethod
The public interface to an external method definition AG element.
Example: def o.m() { body }
There are three ways to evaluate such expressions with respect to what context should be active when the method is invoked upon the object:
AmbientTalk implements the third option, by means of a ClosureMethod
.
Method Summary | |
---|---|
Expression |
annotationExpression()
Example: `{ def o.m() @[Getter] { 5 } }.statements[1].annotations == `[Getter] |
Table |
arguments()
Example: `{ def o.m(a, @b) { b } }.statements[1].arguments == `[a, @b] |
Begin |
bodyExpression()
Example: `{ def o.m() { o.n(); 1+2+3 } }.statements[1].bodyExpression == `{o.n(); 1.+(2).+(3)} |
Symbol |
receiver()
Example: `{ def o.m() { 5 } }.statements[1].receiver == `o |
Symbol |
selector()
Example: `{ def o.m() { 5 } }.statements[1].selector == `m |
Methods inherited from interface edu.vub.at.objects.AbstractGrammar |
---|
freeVariables |
Methods inherited from interface edu.vub.at.objects.Object |
---|
super |
Method Detail |
---|
Symbol receiver()
`{ def o.m() { 5 } }.statements[1].receiver == `o
Symbol selector()
`{ def o.m() { 5 } }.statements[1].selector == `m
Table arguments()
`{ def o.m(a, @b) { b } }.statements[1].arguments == `[a, @b]
Begin bodyExpression()
`{ def o.m() { o.n(); 1+2+3 } }.statements[1].bodyExpression == `{o.n(); 1.+(2).+(3)}
Expression annotationExpression()
`{ def o.m() @[Getter] { 5 } }.statements[1].annotations == `[Getter]
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |