Class FindUnreleasedLock
java.lang.Object
edu.umd.cs.findbugs.ResourceTrackingDetector<Lock, FindUnreleasedLock.LockResourceTracker>
edu.umd.cs.findbugs.detect.FindUnreleasedLock
- All Implemented Interfaces:
Detector, Priorities
public class FindUnreleasedLock
extends ResourceTrackingDetector<Lock, FindUnreleasedLock.LockResourceTracker>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class(package private) class -
Field Summary
FieldsFields inherited from class ResourceTrackingDetector
bugAccumulator, bugReporterFields inherited from interface Priorities
EXP_PRIORITY, HIGH_PRIORITY, IGNORE_PRIORITY, LOW_PRIORITY, NORMAL_PRIORITY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetResourceTracker(ClassContext classContext, org.apache.bcel.classfile.Method method) voidinspectResult(ClassContext classContext, org.apache.bcel.generic.MethodGen methodGen, CFG cfg, Dataflow<ResourceValueFrame, ResourceValueAnalysis<Lock>> dataflow, Lock resource) booleanprescreen(ClassContext classContext, org.apache.bcel.classfile.Method method, boolean mightClose) voidreport()This method is called after all classes to be visited.voidvisitClassContext(ClassContext classContext) Visit the ClassContext for a class which should be analyzed for instances of bug patterns.Methods inherited from class ResourceTrackingDetector
analyzeMethod
-
Field Details
-
DEBUG
private static final boolean DEBUG -
numAcquires
private int numAcquires
-
-
Constructor Details
-
FindUnreleasedLock
-
-
Method Details
-
visitClassContext
Description copied from interface:DetectorVisit the ClassContext for a class which should be analyzed for instances of bug patterns.- Specified by:
visitClassContextin interfaceDetector- Overrides:
visitClassContextin classResourceTrackingDetector<Lock, FindUnreleasedLock.LockResourceTracker>- Parameters:
classContext- the ClassContext
-
prescreen
public boolean prescreen(ClassContext classContext, org.apache.bcel.classfile.Method method, boolean mightClose) - Specified by:
prescreenin classResourceTrackingDetector<Lock, FindUnreleasedLock.LockResourceTracker>
-
getResourceTracker
public FindUnreleasedLock.LockResourceTracker getResourceTracker(ClassContext classContext, org.apache.bcel.classfile.Method method) throws CFGBuilderException, DataflowAnalysisException - Specified by:
getResourceTrackerin classResourceTrackingDetector<Lock, FindUnreleasedLock.LockResourceTracker>- Throws:
CFGBuilderExceptionDataflowAnalysisException
-
inspectResult
public void inspectResult(ClassContext classContext, org.apache.bcel.generic.MethodGen methodGen, CFG cfg, Dataflow<ResourceValueFrame, ResourceValueAnalysis<Lock>> dataflow, Lock resource) - Specified by:
inspectResultin classResourceTrackingDetector<Lock, FindUnreleasedLock.LockResourceTracker>
-
report
public void report()Description copied from interface:DetectorThis method is called after all classes to be visited. It should be used by any detectors which accumulate information over all visited classes to generate results.- Specified by:
reportin interfaceDetector- Overrides:
reportin classResourceTrackingDetector<Lock, FindUnreleasedLock.LockResourceTracker>
-