soot.shimple.internal
Class SValueUnitPair

java.lang.Object
  |
  +--soot.tagkit.AbstractHost
        |
        +--soot.AbstractValueBox
              |
              +--soot.toolkits.scalar.ValueUnitPair
                    |
                    +--soot.shimple.internal.SValueUnitPair

public class SValueUnitPair
extends ValueUnitPair
implements SUnitBox

Extension of ValueUnitPair that implements SUnitBox. Needed by SPatchingChain. Equality is no longer dependent on the value.

See Also:
Serialized Form

Field Summary
protected  boolean unitChanged
           
 
Fields inherited from class soot.toolkits.scalar.ValueUnitPair
oub
 
Constructor Summary
SValueUnitPair(Value value, Unit unit)
           
 
Method Summary
 boolean isUnitChanged()
          Indicates whether the contents of the UnitBox may have been changed.
 void setUnit(Unit u)
          Sets this box to contain the given unit.
 void setUnitChanged(boolean unitChanged)
          Updates the value of the flag used to indicate whether the contents of the UnitBox may have changed.
 
Methods inherited from class soot.toolkits.scalar.ValueUnitPair
canContainUnit, canContainValue, clone, equals, equivTo, getUnit, hashCode, isBranchTarget, setBranchTarget, toString, toString
 
Methods inherited from class soot.AbstractValueBox
getValue, setValue
 
Methods inherited from class soot.tagkit.AbstractHost
addAllTagsOf, addTag, getTag, getTags, hasTag, removeAllTags, removeTag
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

unitChanged

protected boolean unitChanged
Constructor Detail

SValueUnitPair

public SValueUnitPair(Value value,
                      Unit unit)
Method Detail

setUnit

public void setUnit(Unit u)
Description copied from interface: UnitBox
Sets this box to contain the given unit. Subject to canContainValue() checks.
Overrides:
setUnit in class ValueUnitPair
Tags copied from class: ValueUnitPair
See Also:
UnitBox.setUnit(Unit)

isUnitChanged

public boolean isUnitChanged()
Description copied from interface: SUnitBox
Indicates whether the contents of the UnitBox may have been changed. Returns true if setUnit(Unit) has been called recently and was not followed by setUnitChanged(false).

Needed for Shimple internal Unit chain patching.

Specified by:
isUnitChanged in interface SUnitBox
See Also:
SUnitBox.isUnitChanged()

setUnitChanged

public void setUnitChanged(boolean unitChanged)
Description copied from interface: SUnitBox
Updates the value of the flag used to indicate whether the contents of the UnitBox may have changed.

Needed for Shimple internal Unit chain patching.

Specified by:
setUnitChanged in interface SUnitBox
See Also:
SUnitBox.setUnitChanged(boolean)