public class ExplodedCFGNullPointerAnalysis extends 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
ExceptionPruningAnalysis
compute
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()
ExceptionPruningAnalysis
getCFG
in interface ExceptionPruningAnalysis<SSAInstruction,IExplodedBasicBlock>
public boolean hasExceptions()
ExceptionPruningAnalysis
hasExceptions
in interface ExceptionPruningAnalysis<SSAInstruction,IExplodedBasicBlock>
public NullPointerState getState(IExplodedBasicBlock bb)
ExceptionPruningAnalysis
getState
in interface ExceptionPruningAnalysis<SSAInstruction,IExplodedBasicBlock>
bb
- NodeCopyright © 2019. All rights reserved.