Class AbstractStackFrame

  • Direct Known Subclasses:
    StackFrame

    public abstract class AbstractStackFrame
    extends java.lang.Object
    Abstract Stack Frame definition.
    • Field Detail

      • execEnv

        protected ExecEnv execEnv
        The execution environment.
      • localVars

        protected java.lang.Object[] localVars
        The local variables list.
    • Constructor Detail

      • AbstractStackFrame

        public AbstractStackFrame​(ExecEnv execEnv,
                                  ASMModule asmModule,
                                  Operation operation)
        Creates a new AbstractStackFrame with the given parameters.
        Parameters:
        execEnv - the execution environment
        asmModule - the transformation module
        operation - the main operation
      • AbstractStackFrame

        protected AbstractStackFrame​(AbstractStackFrame caller,
                                     Operation frameOperation)
        Creates a new StackFrame.
        Parameters:
        caller - the parent stack frame
        frameOperation - the operation
      • AbstractStackFrame

        protected AbstractStackFrame​(ExecEnv execEnv)
        Creates an empty StackFrame which refers to its ExecEnv.
        Parameters:
        execEnv - the ExecEnv
    • Method Detail

      • newFrame

        public abstract AbstractStackFrame newFrame​(Operation frameOperation)
        Returns a new frame for the given operation.
        Parameters:
        frameOperation - the frame operation
        Returns:
        a new frame for the given operation
      • getAsmModule

        public ASMModule getAsmModule()
      • getLocalVars

        public java.lang.Object[] getLocalVars()
      • setLocalVars

        public void setLocalVars​(java.lang.Object[] localVars)
      • getExecEnv

        public ExecEnv getExecEnv()
      • getOperation

        public Operation getOperation()
      • getLocalVariables

        public java.util.Map<java.lang.String,​java.lang.Object> getLocalVariables()
        Returns the local variables map.
        Returns:
        the local variables map
      • leave

        public void leave()
        Makes the tool leave the frame.
      • getSourceLocation

        public java.lang.String getSourceLocation()
      • getOpName

        public java.lang.String getOpName()
      • getLocation

        public abstract int getLocation()
        Returns the current location.
        Returns:
        the current location