Package | Description |
---|---|
soot |
Base Soot classes, shared by different intermediate representations.
|
soot.dava.toolkits.base.AST.interProcedural | |
soot.jbco.util | |
soot.jimple.toolkits.scalar |
A toolkit for scalar optimization of Jimple.
|
soot.jimple.toolkits.thread.mhp | |
soot.shimple.internal |
Shimple internal messy stuff.
|
soot.toolkits.graph |
Toolkit to produce and manipulate various types of control flow
graphs.
|
soot.util |
Generally useful utility classes for Soot.
|
Modifier and Type | Class and Description |
---|---|
class |
PatchingChain<E extends Unit>
An implementation of a Chain which can contain only Units,
and handles patching to deal with element insertions and removals.
|
Modifier and Type | Field and Description |
---|---|
protected Chain<SootField> |
SootClass.fields |
protected Chain<SootField> |
SootClass.fields |
protected Chain<E> |
PatchingChain.innerChain |
protected Chain<E> |
PatchingChain.innerChain |
protected Chain<SootClass> |
SootClass.interfaces |
protected Chain<SootClass> |
SootClass.interfaces |
protected Chain<Local> |
Body.localChain
The chain of locals for this Body.
|
protected Chain<Local> |
Body.localChain
The chain of locals for this Body.
|
protected Chain<Trap> |
Body.trapChain
The chain of traps for this Body.
|
protected Chain<Trap> |
Body.trapChain
The chain of traps for this Body.
|
Modifier and Type | Method and Description |
---|---|
Chain<SootClass> |
Scene.getApplicationClasses()
Returns a chain of the application classes in this scene.
|
Chain<SootClass> |
Scene.getApplicationClasses()
Returns a chain of the application classes in this scene.
|
Chain<SootClass> |
Scene.getClasses()
Returns an backed chain of the classes in this manager.
|
Chain<SootClass> |
Scene.getClasses()
Returns an backed chain of the classes in this manager.
|
Chain<SootField> |
SootClass.getFields()
Returns a backed Chain of fields.
|
Chain<SootField> |
SootClass.getFields()
Returns a backed Chain of fields.
|
Chain<SootClass> |
SootClass.getInterfaces()
Returns a backed Chain of the interfaces that are directly implemented by
this class.
|
Chain<SootClass> |
SootClass.getInterfaces()
Returns a backed Chain of the interfaces that are directly implemented by
this class.
|
Chain<SootClass> |
Scene.getLibraryClasses()
Returns a chain of the library classes in this scene.
|
Chain<SootClass> |
Scene.getLibraryClasses()
Returns a chain of the library classes in this scene.
|
Chain<Local> |
Body.getLocals()
Returns a backed chain of the locals declared in this Body.
|
Chain<Local> |
Body.getLocals()
Returns a backed chain of the locals declared in this Body.
|
Chain<E> |
PatchingChain.getNonPatchingChain()
Returns the inner chain used by the PatchingChain.
|
Chain<E> |
PatchingChain.getNonPatchingChain()
Returns the inner chain used by the PatchingChain.
|
Chain<SootClass> |
Scene.getPhantomClasses()
Returns a chain of the phantom classes in this scene.
|
Chain<SootClass> |
Scene.getPhantomClasses()
Returns a chain of the phantom classes in this scene.
|
Chain<Trap> |
Body.getTraps()
Returns a backed view of the traps found in this Body.
|
Chain<Trap> |
Body.getTraps()
Returns a backed view of the traps found in this Body.
|
Modifier and Type | Method and Description |
---|---|
void |
PatchingChain.insertAfter(Chain<E> toInsert,
E point) |
void |
PatchingChain.insertAfter(Chain<E> toInsert,
E point) |
void |
PatchingChain.insertBefore(Chain<E> toInsert,
E point)
Inserts
toInsert in the Chain before point . |
void |
PatchingChain.insertBefore(Chain<E> toInsert,
E point)
Inserts
toInsert in the Chain before point . |
void |
PatchingChain.insertOnEdge(Chain<E> toInsert,
E point_src,
E point_tgt)
Inserts instrumentation in a manner such that the resulting control flow
graph (CFG) of the program will contain
toInsert on an edge
that is defined by point_source and point_target . |
void |
PatchingChain.insertOnEdge(Chain<E> toInsert,
E point_src,
E point_tgt)
Inserts instrumentation in a manner such that the resulting control flow
graph (CFG) of the program will contain
toInsert on an edge
that is defined by point_source and point_target . |
Constructor and Description |
---|
PatchingChain(Chain<E> aChain)
Constructs a PatchingChain from the given Chain.
|
PatchingChain(Chain<E> aChain)
Constructs a PatchingChain from the given Chain.
|
PatchingIterator(Chain<E> innerChain) |
PatchingIterator(Chain<E> innerChain) |
PatchingIterator(Chain<E> innerChain,
E u) |
PatchingIterator(Chain<E> innerChain,
E u) |
PatchingIterator(Chain<E> innerChain,
E head,
E tail) |
PatchingIterator(Chain<E> innerChain,
E head,
E tail) |
Constructor and Description |
---|
ConstantFieldValueFinder(Chain classes) |
ConstantFieldValueFinder(Chain classes) |
Modifier and Type | Method and Description |
---|---|
static boolean |
BodyBuilder.isExceptionCaughtAt(Chain<Unit> units,
Unit u,
Iterator<Trap> trapsIt) |
static boolean |
BodyBuilder.isExceptionCaughtAt(Chain<Unit> units,
Unit u,
Iterator<Trap> trapsIt) |
static void |
BodyBuilder.updateTraps(Unit oldu,
Unit newu,
Chain<Trap> traps) |
static void |
BodyBuilder.updateTraps(Unit oldu,
Unit newu,
Chain<Trap> traps) |
Modifier and Type | Method and Description |
---|---|
Chain |
AvailableExpressions.getAvailableEquivsAfter(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available after u.
|
Chain<EquivalentValue> |
FastAvailableExpressions.getAvailableEquivsAfter(Unit u)
Returns a List containing the UnitValueBox pairs corresponding to expressions available after u.
|
Chain<EquivalentValue> |
SlowAvailableExpressions.getAvailableEquivsAfter(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available after u.
|
Chain<EquivalentValue> |
SlowAvailableExpressions.getAvailableEquivsAfter(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available after u.
|
Chain<EquivalentValue> |
FastAvailableExpressions.getAvailableEquivsAfter(Unit u)
Returns a List containing the UnitValueBox pairs corresponding to expressions available after u.
|
Chain |
AvailableExpressions.getAvailableEquivsAfter(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available after u.
|
Chain |
AvailableExpressions.getAvailableEquivsBefore(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available before u.
|
Chain<EquivalentValue> |
FastAvailableExpressions.getAvailableEquivsBefore(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available before u.
|
Chain<EquivalentValue> |
SlowAvailableExpressions.getAvailableEquivsBefore(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available before u.
|
Chain<EquivalentValue> |
SlowAvailableExpressions.getAvailableEquivsBefore(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available before u.
|
Chain<EquivalentValue> |
FastAvailableExpressions.getAvailableEquivsBefore(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available before u.
|
Chain |
AvailableExpressions.getAvailableEquivsBefore(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available before u.
|
Modifier and Type | Class and Description |
---|---|
class |
PegChain |
Modifier and Type | Field and Description |
---|---|
protected Map<JPegStmt,Chain> |
PegGraph.joinStmtToThread |
protected Map<JPegStmt,Chain> |
PegGraph.joinStmtToThread |
Modifier and Type | Method and Description |
---|---|
protected Map<JPegStmt,Chain> |
PegGraph.getJoinStmtToThread() |
protected Map<JPegStmt,Chain> |
PegGraph.getJoinStmtToThread() |
Modifier and Type | Method and Description |
---|---|
boolean |
PegGraph.addPeg(PegGraph pg,
Chain chain) |
boolean |
PegGraph.addPeg(PegGraph pg,
Chain chain) |
protected void |
PegGraph.buildSuccsForInlining(JPegStmt stmt,
Chain chain,
PegGraph inlinee) |
protected void |
PegGraph.buildSuccsForInlining(JPegStmt stmt,
Chain chain,
PegGraph inlinee) |
protected void |
PegGraph.testPegChain(Chain chain) |
protected void |
PegGraph.testPegChain(Chain chain) |
Constructor and Description |
---|
TopologicalSorter(Chain chain,
PegGraph pg) |
TopologicalSorter(Chain chain,
PegGraph pg) |
Modifier and Type | Class and Description |
---|---|
class |
SPatchingChain
Internal Shimple extension of PatchingChain.
|
Constructor and Description |
---|
SPatchingChain(Body aBody,
Chain<Unit> aChain) |
SPatchingChain(Body aBody,
Chain<Unit> aChain) |
Modifier and Type | Field and Description |
---|---|
protected Chain<Unit> |
BlockGraph.mUnits |
protected Chain<Unit> |
BlockGraph.mUnits |
protected Chain<Unit> |
UnitGraph.unitChain |
protected Chain<Unit> |
UnitGraph.unitChain |
Modifier and Type | Class and Description |
---|---|
class |
HashChain<E>
Reference implementation of the Chain interface, using a HashMap as the
underlying structure.
|
class |
IterableSet<T> |
class |
UnmodifiableIterableSet<E>
An unmodifiable version of the IterableSet class
|
Modifier and Type | Method and Description |
---|---|
void |
Chain.insertAfter(Chain<E> toInsert,
E point)
Inserts
toInsert in the Chain after point . |
void |
HashChain.insertAfter(Chain<E> toInsert,
E point) |
void |
Chain.insertAfter(Chain<E> toInsert,
E point)
Inserts
toInsert in the Chain after point . |
void |
HashChain.insertAfter(Chain<E> toInsert,
E point) |
void |
Chain.insertBefore(Chain<E> toInsert,
E point)
Inserts
toInsert in the Chain before point . |
void |
HashChain.insertBefore(Chain<E> toInsert,
E point) |
void |
Chain.insertBefore(Chain<E> toInsert,
E point)
Inserts
toInsert in the Chain before point . |
void |
HashChain.insertBefore(Chain<E> toInsert,
E point) |
void |
Chain.insertOnEdge(Chain<E> toInsert,
E point_src,
E point_tgt)
Inserts instrumentation in a manner such that the resulting control flow
graph (CFG) of the program will contain
toInsert on an edge
that is defined by point_source and point_target . |
void |
HashChain.insertOnEdge(Chain<E> toInsert,
E point_src,
E point_tgt)
Inserts instrumentation in a manner such that the resulting control flow
graph (CFG) of the program will contain
toInsert on an edge
that is defined by point_source and point_target . |
void |
Chain.insertOnEdge(Chain<E> toInsert,
E point_src,
E point_tgt)
Inserts instrumentation in a manner such that the resulting control flow
graph (CFG) of the program will contain
toInsert on an edge
that is defined by point_source and point_target . |
void |
HashChain.insertOnEdge(Chain<E> toInsert,
E point_src,
E point_tgt)
Inserts instrumentation in a manner such that the resulting control flow
graph (CFG) of the program will contain
toInsert on an edge
that is defined by point_source and point_target . |
static <E> List<E> |
HashChain.toList(Chain<E> c)
Deprecated.
you can use
new ArrayList instead |
static <E> List<E> |
HashChain.toList(Chain<E> c)
Deprecated.
you can use
new ArrayList instead |
Constructor and Description |
---|
HashChain(Chain<E> src)
Constructs a HashChain filled with the contents of the src Chain.
|
HashChain(Chain<E> src)
Constructs a HashChain filled with the contents of the src Chain.
|