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
 java.lang.Object what
          Holds an object to be loaded
 
Fields inherited from class gnu.jel.OP
chi, resID, resType, specialTypes, unwrapType
 
Constructor Summary
OPload(java.lang.Object what)
          Creates an OP, loading a constant.
OPload(OP instead, java.lang.Object what)
          Creates an OP, loading a constant to be put instead of another OP.
 
Method Summary
 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 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:
istead - 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.

Overrides:
eval in class OP
Following copied from class: gnu.jel.OP
Returns:
an object to which this node evaluates
Throws:
if - can't evaluate, in this case the sub-nodes

compile

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