| 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.jimple.toolkits.typing.fast | |
| 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.
|
class |
UnitPatchingChain
Although the Patching Chain is meant to only work for units, it can also work with certain subclasses of units.
|
| Modifier and Type | Field and Description |
|---|---|
protected Chain<SootField> |
SootClass.fields |
protected Chain<E> |
PatchingChain.innerChain |
protected Chain<SootClass> |
SootClass.interfaces |
protected Chain<Local> |
Body.localChain
The chain of locals 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.getClasses()
Returns an backed chain of the classes in this manager.
|
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> |
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<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<Trap> |
Body.getTraps()
Returns a backed view of the traps found in this Body.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
Hierarchy.initializeHierarchy(Chain<SootClass> allClasses)
Initializes the hierarchy given a chain of all classes that shall be included in the hierarchy
|
void |
PatchingChain.insertAfter(Chain<E> toInsert,
E point) |
void |
PatchingChain.insertBefore(Chain<E> toInsert,
E point)
Inserts
toInsert in the Chain before point. |
void |
UnitPatchingChain.insertOnEdge(Chain<Unit> toInsert,
Unit point_src,
Unit 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.
|
PatchingIterator(Chain<E> innerChain) |
PatchingIterator(Chain<E> innerChain,
E u) |
PatchingIterator(Chain<E> innerChain,
E head,
E tail) |
UnitPatchingChain(Chain<Unit> aChain) |
| Constructor and Description |
|---|
ConstantFieldValueFinder(Chain classes) |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
BodyBuilder.isExceptionCaughtAt(Chain<Unit> units,
Unit u,
Iterator<Trap> trapsIt) |
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> |
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.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.
|
| Modifier and Type | Class and Description |
|---|---|
class |
PegChain |
| Modifier and Type | Field and Description |
|---|---|
protected Map<JPegStmt,Chain> |
PegGraph.joinStmtToThread |
| Modifier and Type | Method and Description |
|---|---|
protected Map<JPegStmt,Chain> |
PegGraph.getJoinStmtToThread() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
PegGraph.addPeg(PegGraph pg,
Chain chain) |
protected void |
PegGraph.buildSuccsForInlining(JPegStmt stmt,
Chain chain,
PegGraph inlinee) |
protected void |
PegGraph.testPegChain(Chain chain) |
| Constructor and Description |
|---|
TopologicalSorter(Chain chain,
PegGraph pg) |
| Modifier and Type | Method and Description |
|---|---|
Typing |
DefaultTypingStrategy.createTyping(Chain<Local> locals) |
Typing |
ITypingStrategy.createTyping(Chain<Local> locals)
Creates a new typing class instance with initialized bottom types for the given locals
|
| Modifier and Type | Class and Description |
|---|---|
class |
SPatchingChain
Internal Shimple extension of PatchingChain.
|
| Constructor and Description |
|---|
SPatchingChain(Body aBody,
Chain<Unit> aChain) |
| Modifier and Type | Field and Description |
|---|---|
protected Chain<Unit> |
BlockGraph.mUnits |
protected Chain<Unit> |
UnitGraph.unitChain |
| Modifier and Type | Class and Description |
|---|---|
class |
EmptyChain<T>
Class representing an unmodifiable empty chain
|
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 |
HashChain.insertAfter(Chain<E> toInsert,
E point) |
void |
Chain.insertAfter(Chain<E> toInsert,
E point)
Inserts
toInsert in the Chain after point. |
void |
EmptyChain.insertAfter(Chain<T> toInsert,
T 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 |
EmptyChain.insertBefore(Chain<T> toInsert,
T point) |
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.
|
Copyright © 2020 Soot OSS. All rights reserved.