| Package | Description |
|---|---|
| soot |
Base Soot classes, shared by different intermediate representations.
|
| soot.dexpler | |
| soot.jimple.toolkits.scalar |
A toolkit for scalar optimization of Jimple.
|
| soot.toolkits.exceptions | |
| soot.toolkits.graph |
Toolkit to produce and manipulate various types of control flow
graphs.
|
| soot.toolkits.scalar |
A number of scalar optimizations, and the flow analysis framework.
|
| Modifier and Type | Method and Description |
|---|---|
ThrowAnalysis |
Scene.getDefaultThrowAnalysis()
Returns the
ThrowAnalysis to be used by default when
constructing CFGs which include exceptional control flow. |
ThrowAnalysis |
Scene.getDefaultThrowAnalysis()
Returns the
ThrowAnalysis to be used by default when
constructing CFGs which include exceptional control flow. |
| Modifier and Type | Method and Description |
|---|---|
void |
Scene.setDefaultThrowAnalysis(ThrowAnalysis ta)
Sets the
ThrowAnalysis to be used by default when
constructing CFGs which include exceptional control flow. |
void |
Scene.setDefaultThrowAnalysis(ThrowAnalysis ta)
Sets the
ThrowAnalysis to be used by default when
constructing CFGs which include exceptional control flow. |
| Modifier and Type | Class and Description |
|---|---|
class |
DalvikThrowAnalysis |
| Modifier and Type | Field and Description |
|---|---|
protected ThrowAnalysis |
CopyPropagator.throwAnalysis |
protected ThrowAnalysis |
UnreachableCodeEliminator.throwAnalysis |
protected ThrowAnalysis |
UnreachableCodeEliminator.throwAnalysis |
protected ThrowAnalysis |
CopyPropagator.throwAnalysis |
| Constructor and Description |
|---|
CopyPropagator(ThrowAnalysis ta) |
CopyPropagator(ThrowAnalysis ta) |
CopyPropagator(ThrowAnalysis ta,
boolean forceOmitExceptingUnitEdges) |
CopyPropagator(ThrowAnalysis ta,
boolean forceOmitExceptingUnitEdges) |
UnreachableCodeEliminator(ThrowAnalysis ta) |
UnreachableCodeEliminator(ThrowAnalysis ta) |
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractThrowAnalysis
Abstract class implementing parts of the
ThrowAnalysis
interface which may be common to multiple concrete
ThrowAnalysis classes. |
class |
PedanticThrowAnalysis
A
ThrowAnalysis that says that every unit can throw every
possible exception type. |
class |
UnitThrowAnalysis
A
ThrowAnalysis which returns the set of runtime exceptions
and errors that might be thrown by the bytecode instructions
represented by a unit, as indicated by the Java Virtual Machine
specification. |
| Modifier and Type | Field and Description |
|---|---|
protected ThrowAnalysis |
TrapTightener.throwAnalysis |
protected ThrowAnalysis |
TrapTightener.throwAnalysis |
| Modifier and Type | Method and Description |
|---|---|
static ThrowAnalysis |
ThrowAnalysisFactory.checkInitThrowAnalysis()
Resolve the ThrowAnalysis to be used for initialization checking
(e.g.
|
static ThrowAnalysis |
ThrowAnalysisFactory.checkInitThrowAnalysis()
Resolve the ThrowAnalysis to be used for initialization checking
(e.g.
|
| Constructor and Description |
|---|
TrapTightener(ThrowAnalysis ta) |
TrapTightener(ThrowAnalysis ta) |
| Modifier and Type | Field and Description |
|---|---|
protected ThrowAnalysis |
ExceptionalUnitGraph.throwAnalysis |
protected ThrowAnalysis |
ExceptionalUnitGraph.throwAnalysis |
| Modifier and Type | Method and Description |
|---|---|
protected java.util.Set<Unit> |
ExceptionalUnitGraph.buildExceptionalEdges(ThrowAnalysis throwAnalysis,
java.util.Map<Unit,java.util.Collection<ExceptionalUnitGraph.ExceptionDest>> unitToExceptionDests,
java.util.Map<Unit,java.util.List<Unit>> unitToSuccs,
java.util.Map<Unit,java.util.List<Unit>> unitToPreds,
boolean omitExceptingUnitEdges)
Method to compute the edges corresponding to exceptional control flow.
|
protected java.util.Set<Unit> |
ExceptionalUnitGraph.buildExceptionalEdges(ThrowAnalysis throwAnalysis,
java.util.Map<Unit,java.util.Collection<ExceptionalUnitGraph.ExceptionDest>> unitToExceptionDests,
java.util.Map<Unit,java.util.List<Unit>> unitToSuccs,
java.util.Map<Unit,java.util.List<Unit>> unitToPreds,
boolean omitExceptingUnitEdges)
Method to compute the edges corresponding to exceptional control flow.
|
protected java.util.Map<Unit,java.util.Collection<ExceptionalUnitGraph.ExceptionDest>> |
ExceptionalUnitGraph.buildExceptionDests(ThrowAnalysis throwAnalysis)
Utility method used in the construction of
UnitGraph variants which include
exceptional control flow. |
protected java.util.Map<Unit,java.util.Collection<ExceptionalUnitGraph.ExceptionDest>> |
ExceptionalUnitGraph.buildExceptionDests(ThrowAnalysis throwAnalysis)
Utility method used in the construction of
UnitGraph variants which include
exceptional control flow. |
protected void |
ExceptionalUnitGraph.initialize(ThrowAnalysis throwAnalysis,
boolean omitExceptingUnitEdges)
Performs the real work of constructing an
ExceptionalUnitGraph, factored out of the constructors so
that subclasses have the option to delay creating the graph's edges until
after they have performed some subclass-specific initialization. |
protected void |
ExceptionalUnitGraph.initialize(ThrowAnalysis throwAnalysis,
boolean omitExceptingUnitEdges)
Performs the real work of constructing an
ExceptionalUnitGraph, factored out of the constructors so
that subclasses have the option to delay creating the graph's edges until
after they have performed some subclass-specific initialization. |
| Constructor and Description |
|---|
ExceptionalUnitGraph(Body body,
ThrowAnalysis throwAnalysis)
Constructs the graph from a given Body instance using the passed
ThrowAnalysis and a default value, provided by the
Options class, for the omitExceptingUnitEdges
parameter. |
ExceptionalUnitGraph(Body body,
ThrowAnalysis throwAnalysis)
Constructs the graph from a given Body instance using the passed
ThrowAnalysis and a default value, provided by the
Options class, for the omitExceptingUnitEdges
parameter. |
ExceptionalUnitGraph(Body body,
ThrowAnalysis throwAnalysis,
boolean omitExceptingUnitEdges)
Constructs the graph for a given Body instance, using the
ThrowAnalysis and omitExceptingUnitEdges value
that are passed as parameters. |
ExceptionalUnitGraph(Body body,
ThrowAnalysis throwAnalysis,
boolean omitExceptingUnitEdges)
Constructs the graph for a given Body instance, using the
ThrowAnalysis and omitExceptingUnitEdges value
that are passed as parameters. |
| Modifier and Type | Field and Description |
|---|---|
protected ThrowAnalysis |
LocalSplitter.throwAnalysis |
protected ThrowAnalysis |
LocalSplitter.throwAnalysis |
| Constructor and Description |
|---|
LocalSplitter(ThrowAnalysis ta) |
LocalSplitter(ThrowAnalysis ta) |
LocalSplitter(ThrowAnalysis ta,
boolean omitExceptingUnitEdges) |
LocalSplitter(ThrowAnalysis ta,
boolean omitExceptingUnitEdges) |