com.ibm.wala.fixpoint
Class AbstractOperator<T extends IVariable>
java.lang.Object
com.ibm.wala.fixpoint.AbstractOperator<T>
- All Implemented Interfaces:
- FixedPointConstants
- Direct Known Subclasses:
- AbstractMeetOperator, NullaryOperator, TypeInference.PrimitivePropagateOperator, UnaryOperator
public abstract class AbstractOperator<T extends IVariable>
- extends java.lang.Object
- implements FixedPointConstants
operator for a step in an iterative solver
This is an abstract class and not an interface in order to force subclasses to re-implement equals(), hashCode(), and toString()
|
Method Summary |
abstract boolean |
equals(java.lang.Object o)
|
abstract byte |
evaluate(T lhs,
T[] rhs)
Evaluate this equation, setting a new value for the left-hand side. |
abstract int |
hashCode()
|
abstract java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
AbstractOperator
public AbstractOperator()
evaluate
public abstract byte evaluate(T lhs,
T[] rhs)
- Evaluate this equation, setting a new value for the left-hand side.
Note that the RHS is an IVariable[] and not a T[] because the framework may be need to allocate an array for the rhs, and we
cannot do new T[] in Java.
- 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?
hashCode
public abstract int hashCode()
- Overrides:
hashCode in class java.lang.Object
equals
public abstract boolean equals(java.lang.Object o)
- Overrides:
equals in class java.lang.Object
toString
public abstract java.lang.String toString()
- Overrides:
toString in class java.lang.Object