Class PropagationCallGraphBuilder.PutFieldOperator
java.lang.Object
com.ibm.wala.fixpoint.AbstractOperator<PointsToSetVariable>
com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable>
com.ibm.wala.ipa.callgraph.propagation.UnarySideEffect
com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder.PutFieldOperator
- All Implemented Interfaces:
FixedPointConstants, IPointerOperator
- Enclosing class:
PropagationCallGraphBuilder
public class PropagationCallGraphBuilder.PutFieldOperator
extends UnarySideEffect
implements IPointerOperator
Operator that represents a putfield
-
Field Summary
FieldsFields inherited from interface FixedPointConstants
CHANGED, CHANGED_AND_FIXED, CHANGED_MASK, FIXED_MASK, NOT_CHANGED, NOT_CHANGED_AND_FIXED, SIDE_EFFECT_MASKModifier and TypeFieldDescriptionstatic final byteA return value which indicates that a lhs has changed, and the statement might need to be evaluated again.static final byteA return value which indicates that lhs has changed, and the statement need not be evaluated again.static final intThe bit-mask which defines the "CHANGED" flagstatic final intThe bit-mask which defines the "FIXED" flagstatic final byteA return value which indicates that lhs has not changed, and the statement might need to be evaluated again.static final byteA return value which indicates that lhs has not changed, and the statement need not be evaluated again.static final intThe bit-mask which defines the "SIDE EFFECT" flag -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanbyteprotected IntSetfilterInstances(IntSet value) Subclasses can override as neededprotected IFieldgetField()subclasses (e.g.inthashCode()booleanIs the operator complex; i.e., might it give rise to new constraints?protected booleanA "load" operator generates defs of the fixed set.toString()Methods inherited from class UnarySideEffect
evaluate, replaceFixedSetModifier and TypeMethodDescriptionfinal byteevaluate(PointsToSetVariable lhs, PointsToSetVariable rhs) Evaluate this equation, setting a new value for the left-hand side.voidUpdate the fixed points-to-set associated with this side effect.Methods inherited from class UnaryOperator
evaluate, isIdentity, makeEquationModifier and TypeMethodDescriptionbyteevaluate(PointsToSetVariable lhs, PointsToSetVariable[] rhs) Evaluate this equation, setting a new value for the left-hand side.booleanCreate an equation which uses this operator Override in subclasses for efficiency.
-
Field Details
-
priorInstances
-
-
Constructor Details
-
PutFieldOperator
-
-
Method Details
-
toString
- Specified by:
toStringin classAbstractOperator<PointsToSetVariable>
-
isComplex
public boolean isComplex()Description copied from interface:IPointerOperatorIs the operator complex; i.e., might it give rise to new constraints?- Specified by:
isComplexin interfaceIPointerOperator
-
evaluate
- Specified by:
evaluatein classUnarySideEffect
-
filterInstances
-
hashCode
public int hashCode()- Overrides:
hashCodein classUnarySideEffect
-
equals
- Overrides:
equalsin classUnarySideEffect
-
getPutAssignmentOperator
subclasses (e.g. XTA) can override this to enforce a filtered assignment. returns null if there's a problem. -
getField
- Returns:
- Returns the field.
-
isLoadOperator
protected boolean isLoadOperator()Description copied from class:UnarySideEffectA "load" operator generates defs of the fixed set. A "store" operator generates uses of the fixed set.- Specified by:
isLoadOperatorin classUnarySideEffect
-