Module xl.compiler

Class MethodExpression

All Implemented Interfaces:
Manageable, PersistenceCapable, Shareable, TypeId, UserFields, XObject, Map, ExpressionFactory, ValueObserver, Routine, Serializable, Cloneable
Direct Known Subclasses:
ComplexMethod

public abstract class MethodExpression extends VoidExpression implements Routine
See Also:
  • Constructor Details

    • MethodExpression

      public MethodExpression()
  • Method Details

    • discards

      public boolean discards(int index)
      Overrides:
      discards in class Expression
    • writeFinally

      public void writeFinally(BytecodeWriter writer, int label, ControlTransfer cause)
      Overrides:
      writeFinally in class Expression
    • evaluateVoidImpl

      protected final void evaluateVoidImpl(VMXState t)
      Overrides:
      evaluateVoidImpl in class Expression
    • execute

      public final AbruptCompletion.Return execute(VMXState s)
      Description copied from interface: Routine
      This callback method is invoked by the executing VMXState. A return value has to be wrapped in an instance of AbruptCompletion.Return.
      Specified by:
      execute in interface Routine
      Parameters:
      s - the executing VMXState
      Returns:
      the wrapped return value
    • evaluateImpl

      protected abstract void evaluateImpl(VMXState t)
    • setParameterSize

      public final void setParameterSize(int params)
    • setJFrameSize

      public final void setJFrameSize(int jsize)
    • hasJavaParameters

      public boolean hasJavaParameters()
      Description copied from interface: Routine
      Determines whether this routine expects its parameters on the Java frame or the normal frame.
      Specified by:
      hasJavaParameters in interface Routine
      Returns:
      true iff parameters are expected on the Java frame
    • getParameterSize

      public int getParameterSize()
      Description copied from interface: Routine
      Computes the number of VMXState stack elements for the parameters of this routine.
      Specified by:
      getParameterSize in interface Routine
      Returns:
      the number of stack elements for parameters
    • getJavaFrameSize

      public int getJavaFrameSize()
      Description copied from interface: Routine
      Computes the number of VMXState stack elements for the Java frame of this routine. This includes the parameters, if any.
      Specified by:
      getJavaFrameSize in interface Routine
      Returns:
      the size of the Java frame in terms of stack elements
    • getFrameSize

      public int getFrameSize()
      Description copied from interface: Routine
      Computes the number of VMXState stack elements for the frame of this routine. This includes the parameters, if any.
      Specified by:
      getFrameSize in interface Routine
      Returns:
      the size of the frame in terms of stack elements