public abstract class AbstractUnit extends AbstractHost implements Unit
Modifier and Type | Field and Description |
---|---|
protected List<UnitBox> |
boxesPointingToThis
List of UnitBoxes pointing to this 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 Object |
clone()
Returns a deep clone of this object.
|
List<UnitBox> |
getBoxesPointingToThis()
Returns a list of Boxes pointing to this Unit.
|
List<ValueBox> |
getDefBoxes()
Returns a list of Boxes containing Values defined in this Unit.
|
List<UnitBox> |
getUnitBoxes()
Returns a list of Boxes containing Units defined in this Unit; typically branch targets.
|
List<ValueBox> |
getUseAndDefBoxes()
Returns a list of ValueBoxes, either used or defined in this Unit.
|
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 Object clone()
public List<ValueBox> getUseBoxes()
getUseBoxes
in interface Unit
public List<ValueBox> getDefBoxes()
getDefBoxes
in interface Unit
public List<UnitBox> getUnitBoxes()
getUnitBoxes
in interface Unit
public 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 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)
Copyright © 2020 Sable. All rights reserved.