aspoev.interpreter.base
Class ArgumentListElement

java.lang.Object
  extended byaspoev.interpreter.base.Element
      extended byaspoev.interpreter.base.ArgumentListElement
All Implemented Interfaces:
java.lang.Cloneable, aspoev.Executable, pJ.jasmine.PRI, java.io.Serializable

public class ArgumentListElement
extends Element
implements pJ.jasmine.PRI

An argument list is the list of values passed into a method invokation. This particular Element is executed by the MethodInvokationElement class, and pushes its values onto an argument stack in the current ExecutionEnvironment. These arguments will subsequently be popped off of the stack by the execution of the invoked method, by the ParameterListElement class from MethodDeclarationElement. The ParameterListElement declares new variables (VariableDeclarationElements), with the defined names and types, and then assigns these variables to values popped off of the argument stack.

See Also:
Serialized Form

Field Summary
protected  pJ.jasmine.ListOfObject argumentList
           
 
Fields inherited from class aspoev.interpreter.base.Element
parent
 
Fields inherited from interface pJ.jasmine.PRI
DELETECHANGE, MODIFYCHANGE, NOCHANGE
 
Constructor Summary
ArgumentListElement()
           
 
Method Summary
 void add(java.lang.Object arg)
          Called from the generated parser (aspoev.interpreter.parser.VejalParser) - push arguments on in reverse order so they will be pushed on the runtime argument stack in the correct order.
 void addArgument(java.lang.Object arg)
           
 java.lang.Object clone()
           
protected  java.lang.Object executeElement()
           
 java.lang.Object[] getArguments()
           
 TypeReferenceElement[] getArgumentTypes()
          Return the types of each argument in the list.
 java.util.Collection getChildrenByType(java.lang.Class childClass)
           
 java.lang.String getCodeString()
           
 int size()
           
 java.lang.String toString()
           
 
Methods inherited from class aspoev.interpreter.base.Element
execute, getRValue, persist
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

argumentList

protected pJ.jasmine.ListOfObject argumentList
Constructor Detail

ArgumentListElement

public ArgumentListElement()
Method Detail

clone

public java.lang.Object clone()
Specified by:
clone in class Element

executeElement

protected java.lang.Object executeElement()
Specified by:
executeElement in class Element

add

public void add(java.lang.Object arg)
Called from the generated parser (aspoev.interpreter.parser.VejalParser) - push arguments on in reverse order so they will be pushed on the runtime argument stack in the correct order.


addArgument

public void addArgument(java.lang.Object arg)

getArguments

public java.lang.Object[] getArguments()

getArgumentTypes

public TypeReferenceElement[] getArgumentTypes()
Return the types of each argument in the list. NOTE: This is a run-time lookup...


size

public int size()

getChildrenByType

public java.util.Collection getChildrenByType(java.lang.Class childClass)
Specified by:
getChildrenByType in class Element

getCodeString

public java.lang.String getCodeString()
Specified by:
getCodeString in class Element

toString

public java.lang.String toString()
Overrides:
toString in class Element