Class PropagationCallGraphBuilder.FilterOperator
java.lang.Object
com.ibm.wala.fixpoint.AbstractOperator<T>
com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable>
com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder.FilterOperator
- All Implemented Interfaces:
FixedPointConstants
,IPointerOperator
- Direct Known Subclasses:
PropagationCallGraphBuilder.InverseFilterOperator
- Enclosing class:
- PropagationCallGraphBuilder
public class PropagationCallGraphBuilder.FilterOperator
extends UnaryOperator<PointsToSetVariable>
implements IPointerOperator
The FilterOperator is a filtered set-union. i.e. the LHS is `unioned' with the RHS, but
filtered by the set associated with this operator instance. The filter is the set of
InstanceKeys corresponding to the target type of this cast. This is still monotonic.
LHS U= (RHS n k)
Unary op: <lhs>:= Cast_k( <rhs>)
(Again, technically a binary op -- see note for Assign)
TODO: these need to be canonicalized.
-
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
-
Method Summary
Modifier and TypeMethodDescriptionboolean
byte
evaluate
(PointsToSetVariable lhs, PointsToSetVariable rhs) Evaluate this equation, setting a new value for the left-hand side.int
hashCode()
boolean
Is the operator complex; i.e., might it give rise to new constraints?toString()
Methods inherited from class com.ibm.wala.fixpoint.UnaryOperator
evaluate, isIdentity, makeEquation
-
Constructor Details
-
FilterOperator
protected FilterOperator()
-
-
Method Details
-
evaluate
Description copied from class:UnaryOperator
Evaluate this equation, setting a new value for the left-hand side.- Specified by:
evaluate
in classUnaryOperator<PointsToSetVariable>
- Returns:
- true if the lhs value changes. false otherwise.
-
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 interfaceIPointerOperator
-
toString
- Specified by:
toString
in classAbstractOperator<PointsToSetVariable>
-
equals
- Specified by:
equals
in classAbstractOperator<PointsToSetVariable>
-
hashCode
public int hashCode()- Specified by:
hashCode
in classAbstractOperator<PointsToSetVariable>
-