Package gnu.jel

Class OPload


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

      Constructors 
      Constructor Description
      OPload​(OP instead, java.lang.Object what)
      Creates an OP, loading a constant to be put instead of another OP.
      OPload​(java.lang.Object what)
      Creates an OP, loading a constant.
    • Field Detail

      • what

        public java.lang.Object what
        Holds an object to be loaded
    • Constructor Detail

      • OPload

        public OPload​(java.lang.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,
                      java.lang.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 Detail

      • eval

        public java.lang.Object eval()
                              throws java.lang.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:
        java.lang.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.