net.sf.jode.expr
Class ShiftOperator

java.lang.Object
  extended by net.sf.jode.expr.Expression
      extended by net.sf.jode.expr.Operator
          extended by net.sf.jode.expr.BinaryOperator
              extended by net.sf.jode.expr.ShiftOperator

public class ShiftOperator
extends BinaryOperator

ShiftOpcodes are special, because their second operand is an UIndex


Field Summary
 
Fields inherited from class net.sf.jode.expr.Operator
ADD_OP, AND_OP, ASSIGN_OP, COMPARE_OP, DEC_OP, EQUALS_OP, GREATER_OP, GREATEREQ_OP, INC_OP, LESS_OP, LESSEQ_OP, LOG_AND_OP, LOG_NOT_OP, LOG_OR_OP, NEG_OP, NOTEQUALS_OP, OPASSIGN_OP, operatorIndex, SHIFT_OP, SUB_OP
 
Fields inherited from class net.sf.jode.expr.Expression
EMPTYSTRING, type
 
Constructor Summary
ShiftOperator(Type type, int op)
           
 
Method Summary
 void updateSubTypes()
          Tells an expression that an outer expression has changed our type and that the inner types should be recalculated.
 void updateType()
          Tells an expression that an inner expression may have changed and that the type should be recalculated.
 
Methods inherited from class net.sf.jode.expr.BinaryOperator
dumpExpression, getPriority, negate, opEquals
 
Methods inherited from class net.sf.jode.expr.Operator
addOperand, canCombine, combine, containsConflictingLoad, containsMatchingLoad, equals, fillDeclarables, fillInGenSet, getFreeOperandCount, getInvokeOperators, getOperator, getOperatorIndex, getOperatorString, getSubExpressions, hasSideEffects, initOperands, isConstant, isFreeOperator, isFreeOperator, makeDeclaration, setOperatorIndex, setSubExpressions, simplify, subsEquals
 
Methods inherited from class net.sf.jode.expr.Expression
dumpExpression, dumpExpression, getBreakPenalty, getParent, getType, isVoid, makeInitializer, removeOnetimeLocals, setType, simplifyString, simplifyStringBuffer, toString, updateParentType
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ShiftOperator

public ShiftOperator(Type type,
                     int op)
Method Detail

updateSubTypes

public void updateSubTypes()
Description copied from class: Expression
Tells an expression that an outer expression has changed our type and that the inner types should be recalculated.

Overrides:
updateSubTypes in class BinaryOperator

updateType

public void updateType()
Description copied from class: Expression
Tells an expression that an inner expression may have changed and that the type should be recalculated. This may call setType of the caller again.

Overrides:
updateType in class BinaryOperator