Package 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.- Author:
- Navindra Umanee
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanunitChanged-
Fields inherited from class soot.toolkits.scalar.ValueUnitPair
unit
-
Fields inherited from class soot.AbstractValueBox
value
-
Fields inherited from class soot.tagkit.AbstractHost
col, line, mTagList
-
-
Constructor Summary
Constructors Constructor Description SValueUnitPair(Value value, Unit unit)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisBranchTarget()Returns true if the UnitBox is holding a Unit that is the target of a branch (ie a Unit at the beginning of a CFG block).booleanisUnitChanged()Indicates whether the contents of the UnitBox may have been changed.voidsetUnit(Unit u)Sets this box to contain the given unit.voidsetUnitChanged(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, equivHashCode, equivTo, getUnit, hashCode, toString, toString
-
Methods inherited from class soot.AbstractValueBox
getValue, setValue
-
Methods inherited from class soot.tagkit.AbstractHost
addAllTagsOf, addTag, getJavaSourceStartColumnNumber, getJavaSourceStartLineNumber, getTag, getTags, hasTag, removeAllTags, removeTag
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface soot.tagkit.Host
addAllTagsOf, addTag, getJavaSourceStartColumnNumber, getJavaSourceStartLineNumber, getTag, getTags, hasTag, removeAllTags, removeTag
-
Methods inherited from interface soot.UnitBox
canContainUnit, getUnit, toString
-
-
-
-
Method Detail
-
isBranchTarget
public boolean isBranchTarget()
Description copied from interface:UnitBoxReturns true if the UnitBox is holding a Unit that is the target of a branch (ie a Unit at the beginning of a CFG block). This is the default case.Returns false if the UnitBox is holding a Unit that indicates the end of a CFG block and may require specialised processing for SSA.
- Specified by:
isBranchTargetin interfaceUnitBox- Overrides:
isBranchTargetin classValueUnitPair- See Also:
UnitBox.isBranchTarget()
-
setUnit
public void setUnit(Unit u)
Description copied from interface:UnitBoxSets this box to contain the given unit. Subject to canContainValue() checks.- Specified by:
setUnitin interfaceUnitBox- Overrides:
setUnitin classValueUnitPair- See Also:
UnitBox.setUnit(Unit)
-
isUnitChanged
public boolean isUnitChanged()
Description copied from interface:SUnitBoxIndicates 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:
isUnitChangedin interfaceSUnitBox- See Also:
SUnitBox.isUnitChanged()
-
setUnitChanged
public void setUnitChanged(boolean unitChanged)
Description copied from interface:SUnitBoxUpdates 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:
setUnitChangedin interfaceSUnitBox- See Also:
SUnitBox.setUnitChanged(boolean)
-
-