|
|||||||||||
| 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 Form| Nested 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 Collectionadd in class PatchingChain
public void swapWith(Object out,
Object in)
PatchingChainout in the Chain by in.
swapWith in interface ChainswapWith in class PatchingChain
public void insertAfter(Object toInsert,
Object point)
PatchingChaintoInsert in the Chain after point.
insertAfter in interface ChaininsertAfter in class PatchingChain
public void insertAfter(List toInsert,
Object point)
PatchingChaintoInsert in the Chain after point.
insertAfter in interface ChaininsertAfter in class PatchingChain
public void insertBefore(List toInsert,
Object point)
PatchingChaintoInsert in the Chain before point.
insertBefore in interface ChaininsertBefore in class PatchingChain
public void insertBefore(Object toInsert,
Object point)
PatchingChaintoInsert in the Chain before point.
insertBefore in interface ChaininsertBefore in class PatchingChainpublic void addFirst(Object u)
PatchingChain
addFirst in interface ChainaddFirst in class PatchingChainpublic void addLast(Object u)
PatchingChain
addLast in interface ChainaddLast in class PatchingChainpublic boolean remove(Object obj)
PatchingChain
remove in interface Chainremove in class PatchingChainprotected void processPhiNode(Object o)
protected void reprocessPhiNodes()
protected void computeNeedsPatching()
protected SUnitBox getSBox(Object box)
public Iterator iterator()
PatchingChain
iterator in interface Chainiterator in class PatchingChainpublic Iterator iterator(Object u)
PatchingChain
iterator in interface Chainiterator in class PatchingChain
public Iterator iterator(Object head,
Object tail)
PatchingChain
iterator in interface Chainiterator in class PatchingChain
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||