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
`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, Object what)`
Creates an OP, loading a constant to be put instead of another OP.
`OPload(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.
`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 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.