edu.umd.cs.findbugs.detect
Class FindDeadLocalStores

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

public class FindDeadLocalStores
extends java.lang.Object
implements Detector


Field Summary
private  BugReporter bugReporter
           
private static java.util.HashSet classesAlreadyReportedOn
           
private static boolean DEBUG
           
private static java.util.BitSet defensiveConstantValueOpcodes
          Opcodes of instructions that load constant values that often indicate defensive programming.
 
Fields inherited from interface edu.umd.cs.findbugs.Detector
EXP_PRIORITY, HIGH_PRIORITY, LOW_PRIORITY, NORMAL_PRIORITY
 
Constructor Summary
FindDeadLocalStores(BugReporter bugReporter)
           
 
Method Summary
private  void analyzeMethod(ClassContext classContext, org.apache.bcel.classfile.Method method)
           
private  boolean isLoad(Location location)
           
private  boolean isStore(Location location)
           
private  boolean prescreen(ClassContext classContext, org.apache.bcel.classfile.Method method)
           
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

private static final boolean DEBUG

classesAlreadyReportedOn

private static final java.util.HashSet classesAlreadyReportedOn

defensiveConstantValueOpcodes

private static final java.util.BitSet defensiveConstantValueOpcodes
Opcodes of instructions that load constant values that often indicate defensive programming.


bugReporter

private BugReporter bugReporter
Constructor Detail

FindDeadLocalStores

public FindDeadLocalStores(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

prescreen

private boolean prescreen(ClassContext classContext,
                          org.apache.bcel.classfile.Method method)

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 DataflowAnalysisException,
                           CFGBuilderException
Throws:
DataflowAnalysisException
CFGBuilderException

isStore

private boolean isStore(Location location)

isLoad

private boolean isLoad(Location location)

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