Package gnu.jel

Class OPload

java.lang.Object
gnu.jel.OP
gnu.jel.OPload

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

    Fields 
    Modifier and Type Field Description
    java.lang.Object what
    Holds an object to be loaded

    Fields inherited from class gnu.jel.OP

    chi, resID, resType, specialTypes, unwrapType
  • 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.
  • Method Summary

    Modifier and Type Method Description
    void compile​(ClassFile cf)
    Called to generate the code implementing this OP.
    java.lang.Object eval()
    Called to evaluate this node and all its sub-nodes.

    Methods inherited from class gnu.jel.OP

    isWidening, isWidening, narrow, typeID, typeIDObject, widen

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • what

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

    • 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 Details

    • 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.