Class LocalVariableReferenceCompiler


  • public class LocalVariableReferenceCompiler
    extends ToIteratorCompiler
    Generate code for a LocalVariableReference
    • Constructor Detail

      • LocalVariableReferenceCompiler

        public LocalVariableReferenceCompiler()
    • Method Detail

      • compileToItem

        public void compileToItem​(CompilerService compiler,
                                  Expression expression)
                           throws CannotCompileException
        Generate bytecode to get the LocalVariable from the Context as a ValueRepresentation Precondition: none. Postcondition: the stack contains an ValueRepresentation representing the LocalVariable
        Overrides:
        compileToItem in class ToIteratorCompiler
        Parameters:
        compiler - the compiler service
        expression - the expression to be compiled
        Throws:
        CannotCompileException - if the expression cannot be compiled to bytecode
      • compileToPush

        public void compileToPush​(CompilerService compiler,
                                  Expression expression)
                           throws CannotCompileException
        Description copied from class: ExpressionCompiler
        Generate bytecode to evaluate the expression in push mode Precondition: none. Postcondition: at execution time, the stack is unchanged, and the value of the expression has been written to the current receiver
        Overrides:
        compileToPush in class ToIteratorCompiler
        Parameters:
        compiler - the compiler service
        expression - the expression to be compiled
        Throws:
        CannotCompileException - if the expression cannot be compiled to bytecode
      • compileToIterator

        public void compileToIterator​(CompilerService compiler,
                                      Expression expression)
                               throws CannotCompileException
        Generate bytecode to get the LocalVariable from the Context as a ValueRepresentation Precondition: none. Postcondition: the stack contains an ValueRepresentation as a SingletonIterator representing the LocalVariable
        Specified by:
        compileToIterator in class ExpressionCompiler
        Parameters:
        compiler - the compiler service
        expression - the expression to be compiled
        Throws:
        CannotCompileException - if the expression cannot be compiled to bytecode