public class ExplodedCFGNullPointerAnalysis extends java.lang.Object implements ExceptionPruningAnalysis<SSAInstruction,IExplodedBasicBlock>
| Constructor and Description |
|---|
ExplodedCFGNullPointerAnalysis(TypeReference[] ignoredExceptions,
IR ir,
ParameterState paramState,
MethodState mState,
boolean optHasExceptions) |
| Modifier and Type | Method and Description |
|---|---|
int |
compute(com.ibm.wala.util.MonitorUtil.IProgressMonitor progress)
Computes impossible control flow that is due to exceptions that definitely will not appear or
that will always be thrown.
|
ControlFlowGraph<SSAInstruction,IExplodedBasicBlock> |
getCFG()
Returns the result of the analysis: A control flow graph where impossible control flow has been
removed.
|
NullPointerState |
getState(IExplodedBasicBlock bb)
Returns the state of a node.
|
boolean |
hasExceptions()
Returns true if the corresponding method contains instructions that may throw an exception
which is not caught in the same method.
|
public ExplodedCFGNullPointerAnalysis(TypeReference[] ignoredExceptions, IR ir, ParameterState paramState, MethodState mState, boolean optHasExceptions)
public int compute(com.ibm.wala.util.MonitorUtil.IProgressMonitor progress)
throws com.ibm.wala.util.graph.GraphIntegrity.UnsoundGraphException,
com.ibm.wala.util.CancelException
ExceptionPruningAnalysiscompute in interface ExceptionPruningAnalysis<SSAInstruction,IExplodedBasicBlock>progress - A progress monitor that is used to display the progress of the analysis. It can
also be used to detect a cancel request from the user. The common behavior is to cancel the
method if progress.isCanceled() is true by throwing a CancelException.com.ibm.wala.util.graph.GraphIntegrity.UnsoundGraphException - Thrown if the original CFG contains inconsistencies.com.ibm.wala.util.CancelException - Thrown if the user requested cancellation through the progress monitor.public ControlFlowGraph<SSAInstruction,IExplodedBasicBlock> getCFG()
ExceptionPruningAnalysisgetCFG in interface ExceptionPruningAnalysis<SSAInstruction,IExplodedBasicBlock>public boolean hasExceptions()
ExceptionPruningAnalysishasExceptions in interface ExceptionPruningAnalysis<SSAInstruction,IExplodedBasicBlock>public NullPointerState getState(IExplodedBasicBlock bb)
ExceptionPruningAnalysisgetState in interface ExceptionPruningAnalysis<SSAInstruction,IExplodedBasicBlock>bb - Node