com.ibm.wala.dataflow.graph
Class BitVectorUnion

java.lang.Object
  extended by com.ibm.wala.fixedpoint.impl.AbstractOperator<T>
      extended by com.ibm.wala.dataflow.graph.AbstractMeetOperator<BitVectorVariable>
          extended by com.ibm.wala.dataflow.graph.BitVectorUnion
All Implemented Interfaces:
FixedPointConstants

public class BitVectorUnion
extends AbstractMeetOperator<BitVectorVariable>
implements FixedPointConstants

Operator U(n) = U(n) U U(j)


Field Summary
 
Fields inherited from interface com.ibm.wala.fixpoint.FixedPointConstants
CHANGED, CHANGED_AND_FIXED, CHANGED_MASK, FIXED_MASK, NOT_CHANGED, NOT_CHANGED_AND_FIXED, SIDE_EFFECT_MASK
 
Method Summary
 boolean equals(java.lang.Object o)
           
 byte evaluate(BitVectorVariable lhs, IVariable[] rhs)
          Evaluate this equation, setting a new value for the left-hand side.
 int hashCode()
           
static BitVectorUnion instance()
           
 java.lang.String toString()
           
 
Methods inherited from class com.ibm.wala.dataflow.graph.AbstractMeetOperator
isUnaryNoOp
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

instance

public static BitVectorUnion instance()

toString

public java.lang.String toString()
Specified by:
toString in class AbstractOperator<BitVectorVariable>
See Also:
Object.toString()

hashCode

public int hashCode()
Specified by:
hashCode in class AbstractOperator<BitVectorVariable>

equals

public boolean equals(java.lang.Object o)
Specified by:
equals in class AbstractOperator<BitVectorVariable>

evaluate

public byte evaluate(BitVectorVariable lhs,
                     IVariable[] rhs)
              throws java.lang.IllegalArgumentException
Description copied from class: AbstractOperator
Evaluate this equation, setting a new value for the left-hand side.

Specified by:
evaluate in class AbstractOperator<BitVectorVariable>
Returns:
a code that indicates: 1) has the lhs value changed? 2) has this equation reached a fixed-point, in that we never have to evaluate the equation again, even if rhs operands change?
Throws:
java.lang.IllegalArgumentException