FindBugs™ 1.3.9

edu.umd.cs.findbugs.classfile.engine.bcel
Class LoadedFieldSetFactory

java.lang.Object
  extended by edu.umd.cs.findbugs.classfile.engine.bcel.AnalysisFactory<LoadedFieldSet>
      extended by edu.umd.cs.findbugs.classfile.engine.bcel.LoadedFieldSetFactory
All Implemented Interfaces:
IAnalysisEngine<MethodDescriptor,LoadedFieldSet>, IMethodAnalysisEngine<LoadedFieldSet>

public class LoadedFieldSetFactory
extends AnalysisFactory<LoadedFieldSet>

Factory to determine which fields are loaded and stored by the instructions in a method, and the overall method. The main purpose is to support efficient redundant load elimination and forward substitution in ValueNumberAnalysis (there is no need to remember stores of fields that are never read, or loads of fields that are only loaded in one location). However, it might be useful for other kinds of analysis.

The tricky part is that in addition to fields loaded and stored with get/putfield and get/putstatic, we also try to figure out field accessed through calls to inner-class access methods.


Constructor Summary
LoadedFieldSetFactory()
          Constructor.
 
Method Summary
 LoadedFieldSet analyze(IAnalysisCache analysisCache, MethodDescriptor descriptor)
          Perform an analysis on class or method named by given descriptor.
 
Methods inherited from class edu.umd.cs.findbugs.classfile.engine.bcel.AnalysisFactory
getAssertionMethods, getCFG, getCompactLocationNumbering, getConstantPoolGen, getDepthFirstSearch, getExceptionSetFactory, getIsNullValueDataflow, getJavaClass, getLoadedFieldSet, getMethod, getMethodGen, getReverseDepthFirstSearch, getTypeDataflow, getValueNumberDataflow, registerWith, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LoadedFieldSetFactory

public LoadedFieldSetFactory()
Constructor.

Method Detail

analyze

public LoadedFieldSet analyze(IAnalysisCache analysisCache,
                              MethodDescriptor descriptor)
                       throws CheckedAnalysisException
Description copied from interface: IAnalysisEngine
Perform an analysis on class or method named by given descriptor.

Parameters:
analysisCache - the analysis cache
descriptor - the descriptor of the class or method to be analyzed
Returns:
the result of the analysis of the class or method
Throws:
CheckedAnalysisException

FindBugs™ 1.3.9

FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.