OPunary

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## gnu.jel
Class OPunary

    java.lang.Object
      |
      +--gnu.jel.OP
            |
            +--gnu.jel.OPunary

public class OPunary
extends OP

A tree node, representing unary operation.

Field Summary
`int` | `code` code of this operation

Fields inherited from class gnu.jel.OP
`chi, resID, resType, specialTypes, unwrapType`

Constructor Summary
`OPunary(java.util.Stack paramOPs, int code)` Constructs a new unary operation.
`OPunary(java.util.Stack paramOPs, int targetID, java.lang.Class targetClass, boolean allownarrowing)` Creates conversion operation to the given class.

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, typeID, typeIDObject`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### code

    public int code

  code of this operation

Constructor Detail

### OPunary

    public OPunary(java.util.Stack paramOPs,
                   int code)
            throws CompilationException

  Constructs a new unary operation.

  Codes are following:

       0  -- negation (applicable to anything except boolean)
       1  -- bitwise not (applicable to all integral types)
       2  -- logical not (applicable to booleans only)
       3  -- return the type in stack

Parameters:
  `paramOPs` - stack holding the operands
  `code` - operation code

### OPunary

    public OPunary(java.util.Stack paramOPs,
                   int targetID,
                   java.lang.Class targetClass,
                   boolean allownarrowing)
            throws CompilationException

  Creates conversion operation to the given class.

Parameters:
  `paramOPs` - stack holding the operands
  `targetID` - ID of primitive type to convert to.
  `targetClass` - the class to convert to, in case cldID=8
  `allownarrowing` - if narrowing conversions are allowed.

Method Detail

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

### 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
    `java.lang.Exception`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD