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 java.lang.Object implements PathVisitor
Helper class to apply the false-positive suppression heuristics along a Path where an obligation leak might have occurred.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) int
adjustedLeakCount
(package private) boolean
couldNotAnalyze
(package private) BasicBlock
curBlock
(package private) Obligation
possiblyLeakedObligation
(package private) State
state
(package private) java.util.List<FindUnsatisfiedObligation.PossibleObligationTransfer>
transferList
-
Constructor Summary
Constructors Constructor Description PostProcessingPathVisitor(Obligation possiblyLeakedObligation, State state)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
applyPossibleObligationTransfers()
private void
checkForPossibleObligationTransfer(org.apache.bcel.generic.InvokeInstruction inv, org.apache.bcel.generic.InstructionHandle handle)
boolean
couldNotAnalyze()
int
getAdjustedLeakCount()
private State
getTransferState(org.apache.bcel.generic.InstructionHandle handle)
void
visitBasicBlock(BasicBlock basicBlock)
Start to visit the given BasicBlock.void
visitEdge(Edge edge)
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 Detail
-
possiblyLeakedObligation
Obligation possiblyLeakedObligation
-
state
State state
-
adjustedLeakCount
int adjustedLeakCount
-
curBlock
BasicBlock curBlock
-
couldNotAnalyze
boolean couldNotAnalyze
-
transferList
java.util.List<FindUnsatisfiedObligation.PossibleObligationTransfer> transferList
-
-
Constructor Detail
-
PostProcessingPathVisitor
public PostProcessingPathVisitor(Obligation possiblyLeakedObligation, State state)
-
-
Method Detail
-
getAdjustedLeakCount
public int getAdjustedLeakCount()
-
couldNotAnalyze
public boolean couldNotAnalyze()
-
visitBasicBlock
public void visitBasicBlock(BasicBlock basicBlock)
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 java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
-
visitEdge
public void visitEdge(Edge edge)
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
private State getTransferState(org.apache.bcel.generic.InstructionHandle handle)
-
-