org.jboss.byteman.rule.expression
Class BinaryOperExpression

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.BinaryOperExpression
Direct Known Subclasses:
ArithmeticExpression, AssignExpression, BitExpression, BooleanExpression, PlusExpression, StringPlusExpression

public abstract class BinaryOperExpression
extends OperExpression

binary operators includes arithmetic and comparison operators


Field Summary
private  Expression operand1
           
private  Expression operand2
           
 
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
BinaryOperExpression(Rule rule, int oper, Type type, ParseNode token, Expression operand1, Expression operand2)
           
 
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
Constructor Detail

BinaryOperExpression

public BinaryOperExpression(Rule rule,
                            int oper,
                            Type type,
                            ParseNode token,
                            Expression operand1,
                            Expression operand2)
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