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) intadjustedLeakCount(package private) booleancouldNotAnalyze(package private) BasicBlockcurBlock(package private) ObligationpossiblyLeakedObligation(package private) Statestate(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 voidapplyPossibleObligationTransfers()private voidcheckForPossibleObligationTransfer(org.apache.bcel.generic.InvokeInstruction inv, org.apache.bcel.generic.InstructionHandle handle)booleancouldNotAnalyze()intgetAdjustedLeakCount()private StategetTransferState(org.apache.bcel.generic.InstructionHandle handle)voidvisitBasicBlock(BasicBlock basicBlock)Start to visit the given BasicBlock.voidvisitEdge(Edge edge)Visit an Edge connecting two BasicBlocks in the Path being visited.voidvisitInstructionHandle(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:PathVisitorStart to visit the given BasicBlock.- Specified by:
visitBasicBlockin interfacePathVisitor- Parameters:
basicBlock- a BasicBlock in the Path being visited
-
visitInstructionHandle
public void visitInstructionHandle(org.apache.bcel.generic.InstructionHandle handle)
Description copied from interface:PathVisitorVisit an InstructionHandle within the BasicBlock currently being visited.- Specified by:
visitInstructionHandlein 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:PathVisitorVisit an Edge connecting two BasicBlocks in the Path being visited.- Specified by:
visitEdgein interfacePathVisitor- Parameters:
edge- an Edge connecting two BasicBlocks in the Path being visited
-
getTransferState
private State getTransferState(org.apache.bcel.generic.InstructionHandle handle)
-
-