|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.util.AbstractCollection<E> soot.PatchingChain<Unit> soot.shimple.internal.SPatchingChain
public class SPatchingChain
Internal Shimple extension of PatchingChain.
PatchingChain
,
Serialized FormNested Class Summary | |
---|---|
protected class |
SPatchingChain.SPatchingIterator
|
Nested classes/interfaces inherited from class soot.PatchingChain |
---|
PatchingChain.PatchingIterator |
Field Summary | |
---|---|
protected Map<SUnitBox,Boolean> |
boxToNeedsPatching
Flag that indicates whether control flow falls through from the box to the Phi node. |
protected Map<UnitBox,Unit> |
boxToPhiNode
Map from UnitBox to the Phi node owning it. |
Fields inherited from class soot.PatchingChain |
---|
innerChain |
Constructor Summary | |
---|---|
SPatchingChain(Body aBody,
Chain aChain)
|
Method Summary | |
---|---|
boolean |
add(Unit o)
Adds the given object to this Chain. |
void |
addFirst(Unit u)
Adds the given object at the beginning of the Chain. |
void |
addLast(Unit u)
Adds the given object at the end of the Chain. |
protected void |
computeNeedsPatching()
NOTE: This will *miss* all the Phi nodes outside a chain. |
protected SUnitBox |
getSBox(UnitBox box)
|
void |
insertAfter(List<Unit> toInsert,
Unit point)
Inserts toInsert in the Chain after point . |
void |
insertAfter(Unit toInsert,
Unit point)
Inserts toInsert in the Chain after point . |
void |
insertBefore(List<Unit> toInsert,
Unit point)
Inserts toInsert in the Chain before point . |
void |
insertBefore(Unit toInsert,
Unit point)
Inserts toInsert in the Chain before point . |
Iterator |
iterator()
Returns an iterator over this Chain. |
Iterator |
iterator(Unit u)
Returns an iterator over this Chain, starting at the given object. |
Iterator |
iterator(Unit head,
Unit tail)
Returns an iterator over this Chain, starting at head and reaching tail (inclusive). |
protected void |
processPhiNode(Unit o)
|
boolean |
remove(Unit obj)
|
protected void |
reprocessPhiNodes()
|
void |
swapWith(Unit out,
Unit in)
Replaces out in the Chain by in . |
Methods inherited from class soot.PatchingChain |
---|
contains, follows, getFirst, getLast, getNonPatchingChain, getPredOf, getSuccOf, insertAfter, insertBefore, insertBeforeNoRedirect, remove, removeFirst, removeLast, size, snapshotIterator |
Methods inherited from class java.util.AbstractCollection |
---|
addAll, clear, containsAll, isEmpty, removeAll, retainAll, toArray, toArray, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Collection |
---|
addAll, clear, containsAll, equals, hashCode, isEmpty, removeAll, retainAll, toArray, toArray |
Field Detail |
---|
protected Map<UnitBox,Unit> boxToPhiNode
protected Map<SUnitBox,Boolean> boxToNeedsPatching
Constructor Detail |
---|
public SPatchingChain(Body aBody, Chain aChain)
Method Detail |
---|
public boolean add(Unit o)
PatchingChain
add
in interface Collection<Unit>
add
in class PatchingChain<Unit>
public void swapWith(Unit out, Unit in)
PatchingChain
out
in the Chain by in
.
swapWith
in interface Chain<Unit>
swapWith
in class PatchingChain<Unit>
public void insertAfter(Unit toInsert, Unit point)
PatchingChain
toInsert
in the Chain after point
.
insertAfter
in interface Chain<Unit>
insertAfter
in class PatchingChain<Unit>
public void insertAfter(List<Unit> toInsert, Unit point)
PatchingChain
toInsert
in the Chain after point
.
insertAfter
in interface Chain<Unit>
insertAfter
in class PatchingChain<Unit>
public void insertBefore(List<Unit> toInsert, Unit point)
PatchingChain
toInsert
in the Chain before point
.
insertBefore
in interface Chain<Unit>
insertBefore
in class PatchingChain<Unit>
public void insertBefore(Unit toInsert, Unit point)
PatchingChain
toInsert
in the Chain before point
.
insertBefore
in interface Chain<Unit>
insertBefore
in class PatchingChain<Unit>
public void addFirst(Unit u)
PatchingChain
addFirst
in interface Chain<Unit>
addFirst
in class PatchingChain<Unit>
public void addLast(Unit u)
PatchingChain
addLast
in interface Chain<Unit>
addLast
in class PatchingChain<Unit>
public boolean remove(Unit obj)
protected void processPhiNode(Unit o)
protected void reprocessPhiNodes()
protected void computeNeedsPatching()
protected SUnitBox getSBox(UnitBox box)
public Iterator iterator()
PatchingChain
iterator
in interface Iterable<Unit>
iterator
in interface Collection<Unit>
iterator
in interface Chain<Unit>
iterator
in class PatchingChain<Unit>
public Iterator iterator(Unit u)
PatchingChain
iterator
in interface Chain<Unit>
iterator
in class PatchingChain<Unit>
public Iterator iterator(Unit head, Unit tail)
PatchingChain
iterator
in interface Chain<Unit>
iterator
in class PatchingChain<Unit>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |