Package edu.umd.cs.findbugs.detect
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 Classes Modifier and Type Class Description private static classFindUnreleasedLock.LockFrameModelingVisitor(package private) classFindUnreleasedLock.LockResourceTracker
-
Field Summary
Fields Modifier and Type Field Description private static booleanDEBUGprivate intnumAcquires-
Fields inherited from class edu.umd.cs.findbugs.ResourceTrackingDetector
bugAccumulator, bugReporter
-
Fields inherited from interface edu.umd.cs.findbugs.Priorities
EXP_PRIORITY, HIGH_PRIORITY, IGNORE_PRIORITY, LOW_PRIORITY, NORMAL_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description FindUnreleasedLock(BugReporter bugReporter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FindUnreleasedLock.LockResourceTrackergetResourceTracker(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 edu.umd.cs.findbugs.ResourceTrackingDetector
analyzeMethod
-
-
-
-
Constructor Detail
-
FindUnreleasedLock
public FindUnreleasedLock(BugReporter bugReporter)
-
-
Method Detail
-
visitClassContext
public void visitClassContext(ClassContext classContext)
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>
-
-