edu.vub.at.objects.natives.grammar
Class AGMessageCreation

java.lang.Object
  extended byedu.vub.at.objects.natives.NATNil
      extended byedu.vub.at.objects.natives.NATByCopy
          extended byedu.vub.at.objects.natives.grammar.NATAbstractGrammar
              extended byedu.vub.at.objects.natives.grammar.AGExpression
                  extended byedu.vub.at.objects.natives.grammar.AGMessageCreation
All Implemented Interfaces:
ATAbstractGrammar, ATConversions, ATExpression, ATMessageCreation, ATNil, ATObject, ATStatement, java.io.Serializable
Direct Known Subclasses:
AGAsyncMessageCreation, AGDelegationCreation, AGMethodInvocationCreation

public abstract class AGMessageCreation
extends AGExpression
implements ATMessageCreation

Author:
tvc The common superclass of AGAsyncMessageCreation and AGMethodInvocationCreation. This class serves as a common repository for both kinds of first-class message AG elements.
See Also:
Serialized Form

Field Summary
protected  ATTable arguments_
           
protected  ATSymbol selector_
           
 
Fields inherited from class edu.vub.at.objects.natives.NATNil
_INSTANCE_
 
Constructor Summary
AGMessageCreation(ATSymbol sel, ATTable args)
           
 
Method Summary
 ATMessageCreation base_asMessageCreation()
           
 ATTable base_getArguments()
           
 ATSymbol base_getSelector()
           
 boolean base_isMessageCreation()
           
protected abstract  java.lang.String getMessageToken()
          Subclasses must implement this method such that the correct messaging token can be displayed when printing an AGMessageCreation element.
 NATText meta_print()
          Prints out the object in a human-readable way.
 ATObject meta_quote(ATContext ctx)
          Quoting a message creation element returns a new quoted message creation element.
protected abstract  ATObject newQuoted(ATSymbol quotedSel, ATTable quotedArgs)
          Subclasses must implement this method in order to return a new instance of themselves parameterized with their quoted arguments.
 
Methods inherited from class edu.vub.at.objects.natives.grammar.AGExpression
base_asExpression, meta_getStripes
 
Methods inherited from class edu.vub.at.objects.natives.NATByCopy
meta_pass, meta_resolve
 
Methods inherited from class edu.vub.at.objects.natives.NATNil
asAmbientTalkObject, asJavaClassUnderSymbiosis, asJavaObjectUnderSymbiosis, asNativeBoolean, asNativeException, asNativeFarReference, asNativeFraction, asNativeNumber, asNativeNumeric, asNativeTable, asNativeText, base__opeql__opeql_, base_asActorMirror, base_asAsyncMessage, base_asBegin, base_asBoolean, base_asClosure, base_asDefinition, base_asFarReference, base_asField, base_asHandler, base_asMessage, base_asMethod, base_asMirror, base_asNumber, base_asSplice, base_asStatement, base_asStripe, base_asSymbol, base_asTable, base_asUnquoteSplice, base_asVariableAssignment, base_init, base_isBoolean, base_isCallFrame, base_isClosure, base_isFarReference, base_isMethod, base_isMirror, base_isSplice, base_isStripe, base_isSymbol, base_isTable, base_isUnquoteSplice, base_isVariableAssignment, base_new, createChild, equals, isAmbientTalkObject, isJavaObjectUnderSymbiosis, isNativeBoolean, isNativeField, isNativeText, meta_addField, meta_addMethod, meta_assignField, meta_assignVariable, meta_clone, meta_defineField, meta_doesNotUnderstand, meta_eval, meta_extend, meta_getDynamicParent, meta_getLexicalParent, meta_grabField, meta_grabMethod, meta_invoke, meta_isCloneOf, meta_isRelatedTo, meta_isStripedWith, meta_listFields, meta_listMethods, meta_lookup, meta_newInstance, meta_receive, meta_respondsTo, meta_select, meta_send, meta_share, readResolve, toString, writeReplace
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.vub.at.objects.ATObject
base__opeql__opeql_, base_init, base_new, meta_addField, meta_addMethod, meta_assignField, meta_assignVariable, meta_clone, meta_defineField, meta_doesNotUnderstand, meta_eval, meta_extend, meta_getDynamicParent, meta_getLexicalParent, meta_getStripes, meta_grabField, meta_grabMethod, meta_invoke, meta_isCloneOf, meta_isRelatedTo, meta_isStripedWith, meta_listFields, meta_listMethods, meta_lookup, meta_newInstance, meta_pass, meta_receive, meta_resolve, meta_respondsTo, meta_select, meta_send, meta_share
 
Methods inherited from interface edu.vub.at.objects.coercion.ATConversions
asAmbientTalkObject, asJavaClassUnderSymbiosis, asJavaObjectUnderSymbiosis, asNativeBoolean, asNativeException, asNativeFarReference, asNativeFraction, asNativeNumber, asNativeNumeric, asNativeTable, asNativeText, base_asActorMirror, base_asAsyncMessage, base_asBegin, base_asBoolean, base_asClosure, base_asDefinition, base_asExpression, base_asFarReference, base_asField, base_asHandler, base_asMessage, base_asMethod, base_asMirror, base_asNumber, base_asSplice, base_asStatement, base_asStripe, base_asSymbol, base_asTable, base_asUnquoteSplice, base_asVariableAssignment, base_isBoolean, base_isCallFrame, base_isClosure, base_isFarReference, base_isMethod, base_isMirror, base_isSplice, base_isStripe, base_isSymbol, base_isTable, base_isUnquoteSplice, base_isVariableAssignment, isAmbientTalkObject, isJavaObjectUnderSymbiosis, isNativeBoolean, isNativeField, isNativeText
 

Field Detail

selector_

protected final ATSymbol selector_

arguments_

protected final ATTable arguments_
Constructor Detail

AGMessageCreation

public AGMessageCreation(ATSymbol sel,
                         ATTable args)
Method Detail

base_getSelector

public ATSymbol base_getSelector()
Specified by:
base_getSelector in interface ATMessageCreation

base_getArguments

public ATTable base_getArguments()
Specified by:
base_getArguments in interface ATMessageCreation

base_isMessageCreation

public boolean base_isMessageCreation()
Specified by:
base_isMessageCreation in interface ATConversions
Overrides:
base_isMessageCreation in class NATNil

base_asMessageCreation

public ATMessageCreation base_asMessageCreation()
                                         throws XTypeMismatch
Specified by:
base_asMessageCreation in interface ATConversions
Overrides:
base_asMessageCreation in class NATNil
Throws:
XTypeMismatch

meta_quote

public ATObject meta_quote(ATContext ctx)
                    throws InterpreterException
Quoting a message creation element returns a new quoted message creation element.

Specified by:
meta_quote in interface ATObject
Overrides:
meta_quote in class NATNil
Throws:
InterpreterException

meta_print

public NATText meta_print()
                   throws InterpreterException
Description copied from interface: ATObject
Prints out the object in a human-readable way.

Specified by:
meta_print in interface ATObject
Overrides:
meta_print in class NATNil
Throws:
InterpreterException

newQuoted

protected abstract ATObject newQuoted(ATSymbol quotedSel,
                                      ATTable quotedArgs)
Subclasses must implement this method in order to return a new instance of themselves parameterized with their quoted arguments.


getMessageToken

protected abstract java.lang.String getMessageToken()
Subclasses must implement this method such that the correct messaging token can be displayed when printing an AGMessageCreation element.