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​(java.util.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.
    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
  • Constructor Details

    • OPcondtnl

      public OPcondtnl​(java.util.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 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