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

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.UnarySideEffect
              extended by com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder.GetFieldOperator
All Implemented Interfaces:
FixedPointConstants, IPointerOperator
Enclosing class:
PropagationCallGraphBuilder

public class PropagationCallGraphBuilder.GetFieldOperator
extends UnarySideEffect
implements IPointerOperator

Binary op: := GetField( ) Side effect: Creates new equations.


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.GetFieldOperator(IField field, PointsToSetVariable def)
           
 
Method Summary
 boolean equals(java.lang.Object o)
           
 byte evaluate(PointsToSetVariable rhs)
           
protected  IntSet filterInstances(IntSet value)
          Subclasses can override as needed
protected  IField getField()
           
 int hashCode()
           
 boolean isComplex()
          Is the operator complex; i.e., might it give rise to new constraints?
protected  boolean isLoadOperator()
          A "load" operator generates defs of the fixed set.
 java.lang.String toString()
           
 
Methods inherited from class com.ibm.wala.ipa.callgraph.propagation.UnarySideEffect
evaluate, replaceFixedSet
 
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.GetFieldOperator

public PropagationCallGraphBuilder.GetFieldOperator(IField field,
                                                    PointsToSetVariable def)
Method Detail

toString

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

evaluate

public byte evaluate(PointsToSetVariable rhs)
Specified by:
evaluate in class UnarySideEffect

filterInstances

protected IntSet filterInstances(IntSet value)
Subclasses can override as needed


hashCode

public int hashCode()
Overrides:
hashCode in class UnarySideEffect

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class UnarySideEffect

getField

protected IField getField()

isLoadOperator

protected boolean isLoadOperator()
Description copied from class: UnarySideEffect
A "load" operator generates defs of the fixed set. A "store" operator generates uses of the fixed set.

Specified by:
isLoadOperator in class UnarySideEffect

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