Package gnu.jel

# Class OPcondtnl

java.lang.Object
gnu.jel.OP
gnu.jel.OPcondtnl

public class OPcondtnl extends OP
A tree node, representing conditional.

## Field Summary

### Fields inherited from class gnu.jel.OP

`chi, resID, resType, specialTypes, unwrapType`

## Constructor Summary

Constructors
Constructor
Description
`OPcondtnl(Stack<OP> paramOPs)`
Creates conditional operator.

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

## Constructor Details

### OPcondtnl

public OPcondtnl(Stack<OP> paramOPs) throws CompilationException
Creates conditional operator.

On entry the paramOPs should contain <boolean> <result of the 1st branch> <result of the 2nn branch>.

Parameters:
  `paramOPs` - stack holding the operands
Throws:
  `CompilationException`

## Method Details

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