Interface | Description |
---|---|
ThrowAnalysis |
A source of information about the exceptions that
Unit s might throw. |
Class | Description |
---|---|
AbstractThrowAnalysis |
Abstract class implementing parts of the
ThrowAnalysis
interface which may be common to multiple concrete
ThrowAnalysis classes. |
DuplicateCatchAllTrapRemover |
Some compilers generate duplicate traps:
Exception table:
from to target type
9 30 37 Class java/lang/Throwable
9 30 44 any
37 46 44 any
The semantics is as follows:
try {
// block
}
catch {
// handler 1
}
finally {
// handler 2
}
In this case, the first trap covers the block and jumps to handler 1.
|
PedanticThrowAnalysis |
A
ThrowAnalysis that says that every unit can throw every
possible exception type. |
ThrowableSet |
A class for representing the set of exceptions that an instruction may throw.
|
ThrowableSet.Manager |
Singleton class for fields and initializers common to all ThrowableSet
objects (i.e., these would be static fields and initializers, in the
absence of soot's
G and Singletons classes). |
ThrowableSet.Pair |
The return type for
ThrowableSet.whichCatchableAs(RefType) ,
consisting of a pair of ThrowableSets. |
ThrowAnalysisFactory |
Factory that returns an appropriate ThrowAnalysis instances for a given
task.
|
TrapTightener | |
TrapTransformer |
Common abstract base class for all body transformers that change the trap
list to, e.g., minimize the trap list
|
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. |
Exception | Description |
---|---|
ThrowableSet.AlreadyHasExclusionsException |