Class InterpretContext

java.lang.Object
com.googlecode.aviator.code.interpreter.InterpretContext

public class InterpretContext extends Object
Eval IR context.
  • Field Details

    • operands

      private final ArrayDeque<AviatorObject> operands
    • pc

      private IR pc
    • pcIndex

      private int pcIndex
    • instruments

      private IR[] instruments
    • env

      private final Env env
    • expression

      private final InterpretExpression expression
    • reachEnd

      private boolean reachEnd
    • trace

      private final boolean trace
  • Constructor Details

  • Method Details

    • loadVar

      public AviatorJavaType loadVar(VariableMeta v)
    • loadConstant

      public AviatorObject loadConstant(Token<?> token)
    • isReachEnd

      public boolean isReachEnd()
    • getOperands

      public ArrayDeque<AviatorObject> getOperands()
    • clearStack

      public void clearStack()
    • jumpTo

      public void jumpTo(int tpc)
    • getExpression

      public InterpretExpression getExpression()
    • getEnv

      public Env getEnv()
    • next

      public boolean next()
    • getPc

      public IR getPc()
    • push

      public void push(AviatorObject arg)
    • peek

      public AviatorObject peek()
    • pop

      public AviatorObject pop()
    • descOperandsStack

      public String descOperandsStack()
    • dispatch

      public void dispatch()
      Move pc to next and execute it.
    • dispatch

      public void dispatch(boolean next)
      dispatch next IR execution.
      Parameters:
      whether - to move pc next.