Package edu.umd.cs.findbugs.detect
Class FindSleepWithLockHeld
- java.lang.Object
-
- edu.umd.cs.findbugs.detect.FindSleepWithLockHeld
-
- All Implemented Interfaces:
Detector
,Priorities
public class FindSleepWithLockHeld extends java.lang.Object implements Detector
Find calls to Thread.sleep() made with a lock held.
-
-
Field Summary
Fields Modifier and Type Field Description private BugAccumulator
bugAccumulator
private BugReporter
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 FindSleepWithLockHeld(BugReporter bugReporter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
analyzeMethod(ClassContext classContext, org.apache.bcel.classfile.Method method)
private boolean
isSleep(org.apache.bcel.generic.INVOKESTATIC ins, org.apache.bcel.generic.ConstantPoolGen cpg)
private boolean
prescreen(ClassContext classContext, org.apache.bcel.classfile.Method method)
void
report()
This method is called after all classes to be visited.void
visitClassContext(ClassContext classContext)
Visit the ClassContext for a class which should be analyzed for instances of bug patterns.
-
-
-
Field Detail
-
bugReporter
private final BugReporter bugReporter
-
bugAccumulator
private final BugAccumulator bugAccumulator
-
-
Constructor Detail
-
FindSleepWithLockHeld
public FindSleepWithLockHeld(BugReporter bugReporter)
-
-
Method Detail
-
visitClassContext
public void visitClassContext(ClassContext classContext)
Description copied from interface:Detector
Visit the ClassContext for a class which should be analyzed for instances of bug patterns.- Specified by:
visitClassContext
in interfaceDetector
- Parameters:
classContext
- the ClassContext
-
prescreen
private boolean prescreen(ClassContext classContext, org.apache.bcel.classfile.Method method)
-
analyzeMethod
private void analyzeMethod(ClassContext classContext, org.apache.bcel.classfile.Method method) throws CFGBuilderException, DataflowAnalysisException
-
isSleep
private boolean isSleep(org.apache.bcel.generic.INVOKESTATIC ins, org.apache.bcel.generic.ConstantPoolGen cpg)
-
-