| java.lang.Object edu.umd.cs.findbugs.ba.PruneInfeasibleExceptionEdges
PruneInfeasibleExceptionEdges | public class PruneInfeasibleExceptionEdges implements EdgeTypes(Code) | | Prune a CFG to remove infeasible exception edges.
In order to determine what kinds of exceptions can be thrown by
explicit ATHROW instructions, type analysis must first be
performed on the unpruned CFG.
author: David Hovemeyer See Also: CFG See Also: TypeAnalysis |
Method Summary | |
public void | execute() Prune infeasible exception edges from the CFG.
If the method returns normally, then the operation
was successful, and the CFG should no longer contain infeasible
exception edges. | public boolean | wasCFGModified() |
PruneInfeasibleExceptionEdges | public PruneInfeasibleExceptionEdges(CFG cfg, MethodGen methodGen, TypeDataflow typeDataflow)(Code) | | Constructor.
Parameters: cfg - the CFG to prune Parameters: methodGen - the method Parameters: typeDataflow - initialized TypeDataflow object for the CFG,indicating the types of all stack locations |
execute | public void execute() throws ClassNotFoundException(Code) | | Prune infeasible exception edges from the CFG.
If the method returns normally, then the operation
was successful, and the CFG should no longer contain infeasible
exception edges. If ClassNotFoundException or DataflowAnalysisException
are thrown, then the operation was unsuccessful,
but the CFG is still valid because it was not modified.
If a runtime exception is thrown, then the CFG may be
partially modified and should be considered invalid.
|
wasCFGModified | public boolean wasCFGModified()(Code) | | true if modified |
|
|