| soot.BodyTransformer soot.toolkits.exceptions.TrapTightener
TrapTightener | final public class TrapTightener extends BodyTransformer (Code) | | 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
Unit s 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 . In the case where none
of the
Unit s protected by a
Trap can throw the exception
it catches, the
Trap 's protected area is left completely empty,
which will likely cause the
UnreachableCodeEliminator to remove the
Trap completely.
The
TrapTightener is used to reduce the risk of
unverifiable code which can result from the use of
ExceptionalUnitGraph s from which unrealizable exceptional
control flow edges have been removed.
|
Method Summary | |
protected void | internalTransform(Body body, String phaseName, Map options) | protected boolean | mightThrowTo(ExceptionalUnitGraph g, Unit u, Trap t) A utility routine which determines if a particular
Unit
might throw an exception to a particular
Trap , according to
the information supplied by a particular control flow graph.
Parameters: g - The control flow graph providing information about exceptions. Parameters: u - The unit being inquired about. Parameters: t - The trap being inquired about. | public static TrapTightener | v() |
TrapTightener | public TrapTightener(Singletons.Global g)(Code) | | |
internalTransform | protected void internalTransform(Body body, String phaseName, Map options)(Code) | | |
mightThrowTo | protected boolean mightThrowTo(ExceptionalUnitGraph g, Unit u, Trap t)(Code) | | A utility routine which determines if a particular
Unit
might throw an exception to a particular
Trap , according to
the information supplied by a particular control flow graph.
Parameters: g - The control flow graph providing information about exceptions. Parameters: u - The unit being inquired about. Parameters: t - The trap being inquired about. true if u might throw an exception caughtby t, according to g |
|
|