edu.umd.cs.findbugs.detect
Class FindTwoLockWait

java.lang.Object
  extended by edu.umd.cs.findbugs.detect.FindTwoLockWait
All Implemented Interfaces:
Detector

public class FindTwoLockWait
extends java.lang.Object
implements Detector


Field Summary
private  BugReporter bugReporter
           
private  org.apache.bcel.classfile.JavaClass javaClass
           
 
Fields inherited from interface edu.umd.cs.findbugs.Detector
EXP_PRIORITY, HIGH_PRIORITY, LOW_PRIORITY, NORMAL_PRIORITY
 
Constructor Summary
FindTwoLockWait(BugReporter bugReporter)
           
 
Method Summary
private  void analyzeMethod(ClassContext classContext, org.apache.bcel.classfile.Method method)
           
private  boolean isWait(org.apache.bcel.generic.InstructionHandle handle, org.apache.bcel.generic.ConstantPoolGen cpg)
           
 boolean preScreen(org.apache.bcel.generic.MethodGen mg)
           
 void report()
          This method is called after all classes to be visited.
 void setAnalysisContext(AnalysisContext analysisContext)
          Set the AnalysisContext that will be used.
 void visitClassContext(ClassContext classContext)
          Visit the ClassContext for a class which should be analyzed for instances of bug patterns.
 void visitInstruction(Location location, org.apache.bcel.generic.MethodGen methodGen, LockDataflow dataflow)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bugReporter

private BugReporter bugReporter

javaClass

private org.apache.bcel.classfile.JavaClass javaClass
Constructor Detail

FindTwoLockWait

public FindTwoLockWait(BugReporter bugReporter)
Method Detail

setAnalysisContext

public void setAnalysisContext(AnalysisContext analysisContext)
Description copied from interface: Detector
Set the AnalysisContext that will be used. This is called before visitClassContext() is called on any class to be analyzed.

Specified by:
setAnalysisContext in interface Detector
Parameters:
analysisContext - the AnalysisContext

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 interface Detector
Parameters:
classContext - the ClassContext

analyzeMethod

private void analyzeMethod(ClassContext classContext,
                           org.apache.bcel.classfile.Method method)
                    throws CFGBuilderException,
                           DataflowAnalysisException
Throws:
CFGBuilderException
DataflowAnalysisException

preScreen

public boolean preScreen(org.apache.bcel.generic.MethodGen mg)

visitInstruction

public void visitInstruction(Location location,
                             org.apache.bcel.generic.MethodGen methodGen,
                             LockDataflow dataflow)

isWait

private boolean isWait(org.apache.bcel.generic.InstructionHandle handle,
                       org.apache.bcel.generic.ConstantPoolGen cpg)

report

public void report()
Description copied from interface: Detector
This 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:
report in interface Detector