public class ValueUnitPair extends AbstractValueBox implements UnitBox, EquivTo
| Modifier and Type | Field and Description |
|---|---|
protected Unit |
unit |
col, line, mTagList| Constructor and Description |
|---|
ValueUnitPair(Value value,
Unit unit)
Constructs a ValueUnitPair from a Unit object and a Value object.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
canContainUnit(Unit u)
Returns true if this box can contain the given Unit.
|
boolean |
canContainValue(Value value)
Returns true if the given Value fits in this box.
|
java.lang.Object |
clone() |
boolean |
equals(java.lang.Object other) |
int |
equivHashCode()
Non-deterministic hashcode consistent with equivTo()
implementation.
|
boolean |
equivTo(java.lang.Object other)
Two ValueUnitPairs are equivTo iff they hold the same
Unit objects and equivalent Value objects within them.
|
Unit |
getUnit()
Returns the unit contained within this box.
|
int |
hashCode() |
boolean |
isBranchTarget()
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).
|
void |
setUnit(Unit unit)
Sets this box to contain the given unit.
|
java.lang.String |
toString() |
void |
toString(UnitPrinter up) |
getValue, setValueaddAllTagsOf, addTag, getJavaSourceStartColumnNumber, getJavaSourceStartLineNumber, getTag, getTags, hasTag, removeAllTags, removeTagfinalize, getClass, notify, notifyAll, wait, wait, waitaddAllTagsOf, addTag, getJavaSourceStartColumnNumber, getJavaSourceStartLineNumber, getTag, getTags, hasTag, removeAllTags, removeTagprotected Unit unit
public boolean canContainValue(Value value)
ValueBoxcanContainValue in interface ValueBoxpublic void setUnit(Unit unit)
UnitBoxsetUnit in interface UnitBoxUnitBox.setUnit(Unit)public Unit getUnit()
UnitBoxgetUnit in interface UnitBoxUnitBox.getUnit()public boolean canContainUnit(Unit u)
UnitBoxcanContainUnit in interface UnitBoxUnitBox.canContainUnit(Unit)public boolean isBranchTarget()
UnitBoxReturns false if the UnitBox is holding a Unit that indicates the end of a CFG block and may require specialised processing for SSA.
isBranchTarget in interface UnitBoxUnitBox.isBranchTarget()public java.lang.String toString()
toString in class AbstractValueBoxpublic void toString(UnitPrinter up)
public int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object other)
equals in class java.lang.Objectpublic boolean equivTo(java.lang.Object other)
public int equivHashCode()
Note: If you are concerned about non-determinism, remember that current implementations of equivHashCode() in other parts of Soot are non-deterministic as well (see Constant.java for example).
equivHashCode in interface EquivTopublic java.lang.Object clone()
clone in class java.lang.Object