| 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 |
|
| ThrowAnalysisFactory |
Factory that returns an appropriate ThrowAnalysis instances for a given task.
|
| TrapTightener |
A BodyTransformer that shrinks the protected area covered by each Trap in the Body so that it
begins at the first of the Body's Units which might throw an exception caught by the Trap and ends
just after the last Unit which might throw an exception caught by the Trap.
|
| 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.
|