|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.AbstractCollection
soot.PatchingChain
soot.shimple.internal.SPatchingChain
Internal Shimple extension of PatchingChain.
PatchingChain
,
Serialized FormNested Class Summary | |
protected class |
SPatchingChain.SPatchingIterator
|
Nested classes inherited from class soot.PatchingChain |
PatchingChain.PatchingIterator |
Field Summary | |
protected Map |
boxToNeedsPatching
Flag that indicates whether control flow falls through from the box to the Phi node. |
protected Map |
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(Object o)
Adds the given object to this Chain. |
void |
addFirst(Object u)
Adds the given object at the beginning of the Chain. |
void |
addLast(Object 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(Object box)
|
void |
insertAfter(List toInsert,
Object point)
Inserts toInsert in the Chain after point . |
void |
insertAfter(Object toInsert,
Object point)
Inserts toInsert in the Chain after point . |
void |
insertBefore(List toInsert,
Object point)
Inserts toInsert in the Chain before point . |
void |
insertBefore(Object toInsert,
Object point)
Inserts toInsert in the Chain before point . |
Iterator |
iterator()
Returns an iterator over this Chain. |
Iterator |
iterator(Object u)
Returns an iterator over this Chain, starting at the given object. |
Iterator |
iterator(Object head,
Object tail)
Returns an iterator over this Chain, starting at head and reaching tail (inclusive). |
protected void |
processPhiNode(Object o)
|
boolean |
remove(Object obj)
Removes the given object from this Chain. |
protected void |
reprocessPhiNodes()
|
void |
swapWith(Object out,
Object in)
Replaces out in the Chain by in . |
Methods inherited from class soot.PatchingChain |
contains, follows, getFirst, getLast, getNonPatchingChain, getPredOf, getSuccOf, insertAfter, insertBefore, 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 boxToPhiNode
protected Map boxToNeedsPatching
Constructor Detail |
public SPatchingChain(Body aBody, Chain aChain)
Method Detail |
public boolean add(Object o)
PatchingChain
add
in interface Collection
add
in class PatchingChain
public void swapWith(Object out, Object in)
PatchingChain
out
in the Chain by in
.
swapWith
in interface Chain
swapWith
in class PatchingChain
public void insertAfter(Object toInsert, Object point)
PatchingChain
toInsert
in the Chain after point
.
insertAfter
in interface Chain
insertAfter
in class PatchingChain
public void insertAfter(List toInsert, Object point)
PatchingChain
toInsert
in the Chain after point
.
insertAfter
in interface Chain
insertAfter
in class PatchingChain
public void insertBefore(List toInsert, Object point)
PatchingChain
toInsert
in the Chain before point
.
insertBefore
in interface Chain
insertBefore
in class PatchingChain
public void insertBefore(Object toInsert, Object point)
PatchingChain
toInsert
in the Chain before point
.
insertBefore
in interface Chain
insertBefore
in class PatchingChain
public void addFirst(Object u)
PatchingChain
addFirst
in interface Chain
addFirst
in class PatchingChain
public void addLast(Object u)
PatchingChain
addLast
in interface Chain
addLast
in class PatchingChain
public boolean remove(Object obj)
PatchingChain
remove
in interface Chain
remove
in class PatchingChain
protected void processPhiNode(Object o)
protected void reprocessPhiNodes()
protected void computeNeedsPatching()
protected SUnitBox getSBox(Object box)
public Iterator iterator()
PatchingChain
iterator
in interface Chain
iterator
in class PatchingChain
public Iterator iterator(Object u)
PatchingChain
iterator
in interface Chain
iterator
in class PatchingChain
public Iterator iterator(Object head, Object tail)
PatchingChain
iterator
in interface Chain
iterator
in class PatchingChain
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |