org.jboss.byteman.rule.expression
Class TernaryOperExpression

java.lang.Object
  extended by org.jboss.byteman.rule.RuleElement
      extended by org.jboss.byteman.rule.expression.Expression
          extended by org.jboss.byteman.rule.expression.OperExpression
              extended by org.jboss.byteman.rule.expression.TernaryOperExpression
Direct Known Subclasses:
ConditionalEvalExpression

public abstract class TernaryOperExpression
extends OperExpression

ternary operators includes conditional evaluation operator 'cond ? if_expr : else_expr'


Field Summary
private  Expression operand1
           
private  Expression operand2
           
private  Expression operand3
           
 
Fields inherited from class org.jboss.byteman.rule.expression.OperExpression
AND, ASSIGN, BAND, BINARY, BOR, BXOR, COND, DIV, EQ, GE, GT, LE, LT, MINUS, MOD, MUL, NE, NOT, oper, OR, PLUS, TERNARY, TWIDDLE, UMINUS, UNARY
 
Fields inherited from class org.jboss.byteman.rule.expression.Expression
charPos, line, rule, token, type
 
Constructor Summary
TernaryOperExpression(Rule rule, int oper, Type type, ParseNode token, Expression operand1, Expression operand2, Expression operand3)
           
 
Method Summary
 void bind()
          verify that variables mentioned in this expression are actually available in the supplied bindings list and infer/validate the type of this expression or its subexpressions where possible
 Expression getOperand(int index)
          return the operand with the given index or null if the index is out of range
 
Methods inherited from class org.jboss.byteman.rule.expression.OperExpression
convertOper, writeTo
 
Methods inherited from class org.jboss.byteman.rule.expression.Expression
getPos, getType, interpret, typeCheck
 
Methods inherited from class org.jboss.byteman.rule.RuleElement
compile, compileBooleanConversion, compileBox, compileNumericConversion, compileObjectConversion, compilePrimitiveConversion, compileStringConversion, compileTypeConversion, compileUnbox, getBindings, getTypeGroup, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

operand1

private Expression operand1

operand2

private Expression operand2

operand3

private Expression operand3
Constructor Detail

TernaryOperExpression

public TernaryOperExpression(Rule rule,
                             int oper,
                             Type type,
                             ParseNode token,
                             Expression operand1,
                             Expression operand2,
                             Expression operand3)
Method Detail

bind

public void bind()
          throws TypeException
verify that variables mentioned in this expression are actually available in the supplied bindings list and infer/validate the type of this expression or its subexpressions where possible

Specified by:
bind in class Expression
Throws:
TypeException

getOperand

public Expression getOperand(int index)
return the operand with the given index or null if the index is out of range

Specified by:
getOperand in class OperExpression
Parameters:
index -
Returns:
the operand with the given index