OPload (JEL API)
Date: 2016-05-09

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 and 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 and Description
    `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

    Methods
    Modifier and Type | Method and 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 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.

Copyright © 1998-2016 Konstantin L. Metlov All Rights Reserved.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the JEL manual.