gnu.jel
Class OPcondtnl

java.lang.Object
  extended by gnu.jel.OP
      extended by 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
OPcondtnl(Stack<OP> paramOPs)
          Creates conditional operator.
 
Method Summary
 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 Detail

OPcondtnl

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

On entry the paramOPs should contain .

Parameters:
paramOPs - stack holding the operands
Throws:
CompilationException
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 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


Copyright © 1998-2009 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.