Package edu.umd.cs.findbugs.detect
Class FindUnsatisfiedObligation.MethodChecker.PostProcessingPathVisitor
java.lang.Object
edu.umd.cs.findbugs.detect.FindUnsatisfiedObligation.MethodChecker.PostProcessingPathVisitor
- All Implemented Interfaces:
PathVisitor
- Enclosing class:
FindUnsatisfiedObligation.MethodChecker
private class FindUnsatisfiedObligation.MethodChecker.PostProcessingPathVisitor
extends Object
implements PathVisitor
Helper class to apply the false-positive suppression heuristics along
a Path where an obligation leak might have occurred.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) int
(package private) boolean
(package private) BasicBlock
(package private) Obligation
(package private) State
(package private) List
<FindUnsatisfiedObligation.PossibleObligationTransfer> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
private void
checkForPossibleObligationTransfer
(org.apache.bcel.generic.InvokeInstruction inv, org.apache.bcel.generic.InstructionHandle handle) boolean
int
private State
getTransferState
(org.apache.bcel.generic.InstructionHandle handle) void
visitBasicBlock
(BasicBlock basicBlock) Start to visit the given BasicBlock.void
Visit an Edge connecting two BasicBlocks in the Path being visited.void
visitInstructionHandle
(org.apache.bcel.generic.InstructionHandle handle) Visit an InstructionHandle within the BasicBlock currently being visited.
-
Field Details
-
possiblyLeakedObligation
Obligation possiblyLeakedObligation -
state
State state -
adjustedLeakCount
int adjustedLeakCount -
curBlock
BasicBlock curBlock -
couldNotAnalyze
boolean couldNotAnalyze -
transferList
List<FindUnsatisfiedObligation.PossibleObligationTransfer> transferList
-
-
Constructor Details
-
PostProcessingPathVisitor
-
-
Method Details
-
getAdjustedLeakCount
public int getAdjustedLeakCount() -
couldNotAnalyze
public boolean couldNotAnalyze() -
visitBasicBlock
Description copied from interface:PathVisitor
Start to visit the given BasicBlock.- Specified by:
visitBasicBlock
in interfacePathVisitor
- Parameters:
basicBlock
- a BasicBlock in the Path being visited
-
visitInstructionHandle
public void visitInstructionHandle(org.apache.bcel.generic.InstructionHandle handle) Description copied from interface:PathVisitor
Visit an InstructionHandle within the BasicBlock currently being visited.- Specified by:
visitInstructionHandle
in interfacePathVisitor
- Parameters:
handle
- an InstructionHandle within the current BasicBlock
-
applyPossibleObligationTransfers
private void applyPossibleObligationTransfers() -
checkForPossibleObligationTransfer
private void checkForPossibleObligationTransfer(org.apache.bcel.generic.InvokeInstruction inv, org.apache.bcel.generic.InstructionHandle handle) throws ClassNotFoundException - Throws:
ClassNotFoundException
-
visitEdge
Description copied from interface:PathVisitor
Visit an Edge connecting two BasicBlocks in the Path being visited.- Specified by:
visitEdge
in interfacePathVisitor
- Parameters:
edge
- an Edge connecting two BasicBlocks in the Path being visited
-
getTransferState
-