| 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. |
| 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. |
| Modifier and Type | Class and Description |
|---|---|
class |
DalvikThrowAnalysis |
| Modifier and Type | Field and Description |
|---|---|
protected ThrowAnalysis |
CopyPropagator.throwAnalysis |
protected ThrowAnalysis |
UnreachableCodeEliminator.throwAnalysis |
| Constructor and Description |
|---|
CopyPropagator(ThrowAnalysis ta) |
CopyPropagator(ThrowAnalysis ta,
boolean forceOmitExceptingUnitEdges) |
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 |
| Modifier and Type | Method and Description |
|---|---|
static ThrowAnalysis |
ThrowAnalysisFactory.checkInitThrowAnalysis()
Resolve the ThrowAnalysis to be used for initialization checking (e.g.
|
| Constructor and Description |
|---|
TrapTightener(ThrowAnalysis ta) |
| Modifier and Type | Field and Description |
|---|---|
protected ThrowAnalysis |
ExceptionalUnitGraph.throwAnalysis |
| Modifier and Type | Method and Description |
|---|---|
protected Set<Unit> |
ExceptionalUnitGraph.buildExceptionalEdges(ThrowAnalysis throwAnalysis,
Map<Unit,Collection<ExceptionalUnitGraph.ExceptionDest>> unitToExceptionDests,
Map<Unit,List<Unit>> unitToSuccs,
Map<Unit,List<Unit>> unitToPreds,
boolean omitExceptingUnitEdges)
Method to compute the edges corresponding to exceptional control flow.
|
protected Map<Unit,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. |
| 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,
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 |
| Constructor and Description |
|---|
LocalSplitter(ThrowAnalysis ta) |
LocalSplitter(ThrowAnalysis ta,
boolean omitExceptingUnitEdges) |
Copyright © 2020 Soot OSS. All rights reserved.