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 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 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 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. |
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) |