edu.vub.at.objects.grammar
Interface MessageCreation

All Known Subinterfaces:
AsyncMessageCreation, FieldSelectionCreation, MethodInvocationCreation

 MessageCreation

The public interface to a first-class message AG element. An ATMessageCreation may represent synchronous, asynchronous or delegation messages. An abstract message at least contains a selector, arguments and annotations (type tags)

Author:
tvcutsem

Method Summary
 Expression annotations()
          Messages may optionally have annotations (type tags)
 Table arguments()
          Messages may optionally have arguments if they represent invocations.
 Symbol selector()
          Messages always have a selector, a symbol denoting the field or method that needs to be sought for.
 
Methods inherited from interface edu.vub.at.objects.AbstractGrammar
freeVariables
 
Methods inherited from interface edu.vub.at.objects.Object
super
 

Method Detail

selector

Symbol selector()
Messages always have a selector, a symbol denoting the field or method that needs to be sought for. Example: `(<-m()).selector == `m

Returns:
a symbol denoting the selector

arguments

Table arguments()
Messages may optionally have arguments if they represent invocations. Splicing is allowed in the argument list Example: `(<-m(a, @b)).arguments == `[a, @b]

Returns:
the arguments passed to the invocation

annotations

Expression annotations()
Messages may optionally have annotations (type tags)

Returns:
the annotations of the message