com.ibm.wala.ipa.callgraph.propagation
Class PropagationCallGraphBuilder.InstanceArrayStoreOperator

java.lang.Object
  extended by com.ibm.wala.fixpoint.AbstractOperator<T>
      extended by com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable>
          extended by com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder.InstanceArrayStoreOperator
All Implemented Interfaces:
FixedPointConstants, IPointerOperator
Enclosing class:
PropagationCallGraphBuilder

public final class PropagationCallGraphBuilder.InstanceArrayStoreOperator
extends UnaryOperator<PointsToSetVariable>
implements IPointerOperator

Update the points-to-set for an array contents to include a particular instance key.


Field Summary
protected  MutableIntSet priorInstances
           
 
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
PropagationCallGraphBuilder.InstanceArrayStoreOperator(InstanceKey instance)
           
 
Method Summary
 boolean equals(java.lang.Object o)
           
 byte evaluate(PointsToSetVariable dummyLHS, PointsToSetVariable var)
          Simply add the instance to each relevant points-to set.
 int hashCode()
           
 boolean isComplex()
          Is the operator complex; i.e., might it give rise to new constraints?
 java.lang.String toString()
           
 
Methods inherited from class com.ibm.wala.fixpoint.UnaryOperator
evaluate, isIdentity, makeEquation
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

priorInstances

protected final MutableIntSet priorInstances
Constructor Detail

PropagationCallGraphBuilder.InstanceArrayStoreOperator

public PropagationCallGraphBuilder.InstanceArrayStoreOperator(InstanceKey instance)
Method Detail

toString

public java.lang.String toString()
Specified by:
toString in class AbstractOperator<PointsToSetVariable>

evaluate

public byte evaluate(PointsToSetVariable dummyLHS,
                     PointsToSetVariable var)
Simply add the instance to each relevant points-to set.

Specified by:
evaluate in class UnaryOperator<PointsToSetVariable>
Returns:
true if the lhs value changes. false otherwise.

hashCode

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

equals

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

isComplex

public boolean isComplex()
Description copied from interface: IPointerOperator
Is the operator complex; i.e., might it give rise to new constraints?

Specified by:
isComplex in interface IPointerOperator