com.ibm.wala.fixedpoint.impl
Class AbstractOperator

java.lang.Object
  extended by com.ibm.wala.fixedpoint.impl.AbstractOperator
All Implemented Interfaces:
FixedPointConstants
Direct Known Subclasses:
AbstractMeetOperator, NullaryOperator, TypeInference.PrimitivePropagateOperator, UnaryOperator

public abstract class AbstractOperator
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()


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
 
Constructor Summary
AbstractOperator()
           
 
Method Summary
abstract  boolean equals(java.lang.Object o)
           
abstract  byte evaluate(IVariable lhs, IVariable[] 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
 

Constructor Detail

AbstractOperator

public AbstractOperator()
Method Detail

evaluate

public abstract byte evaluate(IVariable lhs,
                              IVariable[] rhs)
Evaluate this equation, setting a new value for the left-hand side.

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