edu.mit.ai.psg.jevaES
Class JNEConditionalExpression

java.lang.Object
  |
  +--edu.mit.ai.psg.jevaES.SimpleNode
        |
        +--edu.mit.ai.psg.jevaES.JevaNode
              |
              +--edu.mit.ai.psg.jevaES.ExpressionNode
                    |
                    +--edu.mit.ai.psg.jevaES.JNEConditionalExpression

public class JNEConditionalExpression
extends ExpressionNode

Jeva parse Node for ? : Expressions. [Java Lang Spec 1.0 sec 15.24 Conditional Operator ? :]

Author:
CarlManning, caroma@ai.mit.edu
Copyright (c) 1997, 1998 Massachusetts Institute of Technology

Fields inherited from class edu.mit.ai.psg.jevaES.SimpleNode
children, id, parent
 
Method Summary
 boolean computeIsConstant(IEnv env)
          constant if test is constant and corresponding branch is constant, or if branches are equal constants.
 Class computeType(IEnv env)
          [Java Lang Spec 1.0 sec 15.24 Conditional Operator ? :] 3 children: testExpr, thenExpr, elseExpr
 Object eval(IEnv env)
           
 IExpressionNode getElseExpression()
           
 IExpressionNode getTestExpression()
           
 IExpressionNode getThenExpression()
           
 
Methods inherited from class edu.mit.ai.psg.jevaES.ExpressionNode
getType, getValue, isConstant
 
Methods inherited from class edu.mit.ai.psg.jevaES.JevaNode
getBeginToken, getEndToken, print, print, printToken, printToString, printToString, setBeginToken, setEndToken
 
Methods inherited from class edu.mit.ai.psg.jevaES.SimpleNode
dump, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getTestExpression

public IExpressionNode getTestExpression()

getThenExpression

public IExpressionNode getThenExpression()

getElseExpression

public IExpressionNode getElseExpression()

computeType

public Class computeType(IEnv env)
                  throws VerifyingException
[Java Lang Spec 1.0 sec 15.24 Conditional Operator ? :] 3 children: testExpr, thenExpr, elseExpr
Overrides:
computeType in class ExpressionNode

computeIsConstant

public boolean computeIsConstant(IEnv env)
                          throws VerifyingException
constant if test is constant and corresponding branch is constant, or if branches are equal constants.
Overrides:
computeIsConstant in class ExpressionNode

eval

public Object eval(IEnv env)
            throws ThrowException
Overrides:
eval in class ExpressionNode

Copyright (c) 1996-1999
Massachusetts Institute of Technology

Feedback: jeva-bugs@ai.mit.edu