public abstract class AbstractUnit extends AbstractHost implements Unit
col, line, mTagList
Constructor and Description |
---|
AbstractUnit() |
Modifier and Type | Method and Description |
---|---|
void |
addBoxPointingToThis(UnitBox b)
Adds a box to the list returned by getBoxesPointingToThis.
|
void |
apply(Switch sw)
Used to implement the Switchable construct.
|
void |
clearUnitBoxes()
Clears any pointers to and from this Unit's UnitBoxes.
|
abstract java.lang.Object |
clone()
Returns a deep clone of this object.
|
java.util.List<UnitBox> |
getBoxesPointingToThis()
Returns a list of Boxes pointing to this Unit.
|
java.util.List<ValueBox> |
getDefBoxes()
Returns a list of Boxes containing Values defined in this Unit.
|
java.util.List<UnitBox> |
getUnitBoxes()
Returns a list of Boxes containing Units defined in this Unit; typically
branch targets.
|
java.util.List<ValueBox> |
getUseAndDefBoxes()
Returns a list of ValueBoxes, either used or defined in this Unit.
|
java.util.List<ValueBox> |
getUseBoxes()
Returns a list of Boxes containing Values used in this Unit.
|
void |
redirectJumpsToThisTo(Unit newLocation)
Redirects jumps to this Unit to newLocation.
|
void |
removeBoxPointingToThis(UnitBox b)
Removes a box from the list returned by getBoxesPointingToThis.
|
addAllTagsOf, addTag, getJavaSourceStartColumnNumber, getJavaSourceStartLineNumber, getTag, getTags, hasTag, removeAllTags, removeTag
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
branches, fallsThrough, toString
addAllTagsOf, addTag, getJavaSourceStartColumnNumber, getJavaSourceStartLineNumber, getTag, getTags, hasTag, removeAllTags, removeTag
public abstract java.lang.Object clone()
public java.util.List<ValueBox> getUseBoxes()
getUseBoxes
in interface Unit
public java.util.List<ValueBox> getDefBoxes()
getDefBoxes
in interface Unit
public java.util.List<UnitBox> getUnitBoxes()
getUnitBoxes
in interface Unit
public java.util.List<UnitBox> getBoxesPointingToThis()
getBoxesPointingToThis
in interface Unit
public void addBoxPointingToThis(UnitBox b)
Unit
addBoxPointingToThis
in interface Unit
public void removeBoxPointingToThis(UnitBox b)
Unit
removeBoxPointingToThis
in interface Unit
public void clearUnitBoxes()
Unit
clearUnitBoxes
in interface Unit
public java.util.List<ValueBox> getUseAndDefBoxes()
getUseAndDefBoxes
in interface Unit
public void apply(Switch sw)
apply
in interface Switchable
public void redirectJumpsToThisTo(Unit newLocation)
Unit
redirectJumpsToThisTo
in interface Unit
PatchingChain.getNonPatchingChain()
,
soot.shimple.Shimple#redirectToPreds(Chain, Unit)
,
Shimple.redirectPointers(Unit, Unit)