Package gnu.jel

Class OPload


public class OPload extends OP
A tree node, representing loading of a constant.
  • Field Details

    • what

      public Object what
      Holds an object to be loaded
  • Constructor Details

    • OPload

      public OPload(Object what)
      Creates an OP, loading a constant.
      Parameters:
      what - is a constant wrapped into a reflection object. E.g java.lang.Integer(1) to load 1 of primitive type int.
    • OPload

      public OPload(OP instead, Object what)
      Creates an OP, loading a constant to be put instead of another OP.

      For private JEL usage in constants folding.

      Parameters:
      instead - an OP, which will be raplaced by this OPload.
      what - is a constant wrapped into a reflection object. E.g java.lang.Integer(1) to load 1 of primitive type int.
  • Method Details

    • eval

      public Object eval() throws Exception
      Description copied from class: OP
      Called to evaluate this node and all its sub-nodes.

      Upon success this node is to be replaced by the constant node holding the returned object.

      Specified by:
      eval in class OP
      Returns:
      an object to which this node evaluates
      Throws:
      Exception
    • compile

      public void compile(ClassFile cf)
      Description copied from class: OP
      Called to generate the code implementing this OP.
      Specified by:
      compile in class OP
      Parameters:
      cf - class file with a new open method to write the code into.