Package | Description |
---|---|
edu.umd.cs.findbugs |
Main package for the FindBugs application - contains the
engine class (FindBugs), the object model classes for bug instances
(BugInstance, BugAnnotation), and other miscellany.
|
edu.umd.cs.findbugs.asm | |
edu.umd.cs.findbugs.ba |
A bytecode analysis framework for BCEL, providing CFG construction,
generic dataflow analysis, and a variety of specific dataflow analyses.
|
edu.umd.cs.findbugs.ba.jsr305 |
Support for analyzing code containing JSR-305 type qualifier annotations.
|
edu.umd.cs.findbugs.ba.obl |
Implementation of dataflow analysis for checking whether
obligations to close streams and other resources (e.g.
|
edu.umd.cs.findbugs.bcel | |
edu.umd.cs.findbugs.classfile |
A high-level abstraction layer for codebases, classes, and components of
classes (methods, fields, instructions, etc.).
|
edu.umd.cs.findbugs.classfile.engine |
Analysis engine classes to produce the analyses defined
in the edu.umd.cs.findbugs.classfile.analysis package.
|
edu.umd.cs.findbugs.classfile.engine.asm |
Support for analyses based on the ASM bytecode framework.
|
edu.umd.cs.findbugs.classfile.engine.bcel |
Support for analyses based on the BCEL bytecode framework.
|
edu.umd.cs.findbugs.classfile.impl |
Implementations of the interfaces in the edu.umd.cs.findbugs.classfile
package: the core classes of the FindBugs classfile/classpath support
layer.
|
edu.umd.cs.findbugs.detect | |
edu.umd.cs.findbugs.plan |
Modifier and Type | Method and Description |
---|---|
OpcodeStack.JumpInfo |
OpcodeStack.JumpInfoFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
void |
DiscoverSourceDirectories.execute()
Execute the search for source directories.
|
static XClass |
Lookup.findImplementor(XClass clazz,
java.lang.String name,
java.lang.String signature,
boolean isStatic) |
static XClass |
Lookup.findSuperImplementor(XClass clazz,
java.lang.String name,
java.lang.String signature,
boolean isStatic) |
static XClass |
Lookup.getXClass(ClassDescriptor c) |
static XClass |
Lookup.getXClass(java.lang.String className) |
static void |
DiscoverSourceDirectories.main(java.lang.String[] args)
Just for testing.
|
void |
DetectorToDetector2Adapter.visitClass(ClassDescriptor classDescriptor) |
void |
Detector2.visitClass(ClassDescriptor classDescriptor)
Visit a class.
|
Modifier and Type | Method and Description |
---|---|
void |
ClassNodeDetector.visitClass(ClassDescriptor classDescriptor) |
Modifier and Type | Class and Description |
---|---|
class |
CFGBuilderException |
class |
DataflowAnalysisException
Exception type to indicate a dataflow analysis failure.
|
class |
MethodUnprofitableException
Used to signal a method not analyzed because it seemed unprofitable to do so
|
class |
MissingClassException
DataflowAnalysisException variant to report a class lookup failure that
caused dataflow analysis to abort.
|
Modifier and Type | Method and Description |
---|---|
void |
LockChecker.execute()
Execute dataflow analyses (only if required).
|
static IncompatibleTypes |
IncompatibleTypes.getPriorityForAssumingCompatible(boolean pointerEquality,
ClassDescriptor lhsDescriptor,
ClassDescriptor rhsDescriptor) |
Modifier and Type | Method and Description |
---|---|
protected abstract DataflowType |
TypeQualifierDataflowFactory.getDataflow(DepthFirstSearch dfs,
XMethod xmethod,
CFG cfg,
ValueNumberDataflow vnaDataflow,
org.apache.bcel.generic.ConstantPoolGen cpg,
IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor1,
TypeQualifierValue<?> typeQualifierValue) |
protected BackwardTypeQualifierDataflow |
BackwardTypeQualifierDataflowFactory.getDataflow(DepthFirstSearch dfs,
XMethod xmethod,
CFG cfg,
ValueNumberDataflow vnaDataflow,
org.apache.bcel.generic.ConstantPoolGen cpg,
IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor,
TypeQualifierValue<?> typeQualifierValue) |
DataflowType |
TypeQualifierDataflowFactory.getDataflow(TypeQualifierValue<?> typeQualifierValue) |
static java.util.Collection<TypeQualifierValue<?>> |
Analysis.getRelevantTypeQualifiers(MethodDescriptor methodDescriptor,
CFG cfg)
Find relevant type qualifiers needing to be checked for a given method.
|
protected void |
BackwardTypeQualifierDataflowFactory.populateDatabase(BackwardTypeQualifierDataflow dataflow,
ValueNumberDataflow vnaDataflow,
XMethod xmethod,
TypeQualifierValue<?> tqv) |
protected abstract void |
TypeQualifierDataflowFactory.populateDatabase(DataflowType dataflow,
ValueNumberDataflow vnaDataflow,
XMethod xmethod,
TypeQualifierValue<?> tqv) |
protected void |
ForwardTypeQualifierDataflowFactory.populateDatabase(ForwardTypeQualifierDataflow dataflow,
ValueNumberDataflow vnaDataflow,
XMethod xmethod,
TypeQualifierValue<?> tqv) |
Modifier and Type | Class and Description |
---|---|
class |
ObligationAcquiredOrReleasedInLoopException
Exception to indicate that ObligationAnalysis has detected a situation in
which an obligation is either acquired or released inside a loop.
|
Modifier and Type | Method and Description |
---|---|
void |
CFGDetector.visitClass(ClassDescriptor classDescriptor) |
protected abstract void |
CFGDetector.visitMethodCFG(MethodDescriptor methodDescriptor,
CFG cfg)
Visit the CFG (control flow graph) of a method to be analyzed.
|
Modifier and Type | Class and Description |
---|---|
class |
ClassNameMismatchException
Exception to indicate that the class name defined in a class file does not
match its expected class name (as indicated by its resource name).
|
class |
InvalidClassFileFormatException |
class |
ResourceNotFoundException
Exception to indicate that a resource was not found.
|
Modifier and Type | Method and Description |
---|---|
ResultType |
IAnalysisEngine.analyze(IAnalysisCache analysisCache,
DescriptorType descriptor)
Perform an analysis on class or method named by given descriptor.
|
void |
IClassPathBuilder.build(IClassPath classPath,
IClassPathBuilderProgress progress)
Build the classpath.
|
E |
ReflectionDatabaseFactory.createDatabase() |
T |
IDatabaseFactory.createDatabase() |
<E> E |
IAnalysisCache.getClassAnalysis(java.lang.Class<E> analysisClass,
ClassDescriptor classDescriptor)
Get an analysis of the given class.
|
<E> E |
IAnalysisCache.getMethodAnalysis(java.lang.Class<E> analysisClass,
MethodDescriptor methodDescriptor)
Get an analysis of the given method.
|
XClass |
ClassDescriptor.getXClass() |
Constructor and Description |
---|
CheckedAnalysisException(CheckedAnalysisException e) |
Modifier and Type | Method and Description |
---|---|
ClassNameAndSuperclassInfo |
ClassNameAndSuperclassInfoAnalysisEngine.analyze(IAnalysisCache analysisCache,
ClassDescriptor descriptor) |
ClassInfo |
ClassInfoAnalysisEngine.analyze(IAnalysisCache analysisCache,
ClassDescriptor descriptor) |
ClassData |
ClassDataAnalysisEngine.analyze(IAnalysisCache analysisCache,
ClassDescriptor descriptor) |
Modifier and Type | Method and Description |
---|---|
FBClassReader |
ClassReaderAnalysisEngine.analyze(IAnalysisCache analysisCache,
ClassDescriptor descriptor) |
org.objectweb.asm.tree.ClassNode |
ClassNodeAnalysisEngine.analyze(IAnalysisCache analysisCache,
ClassDescriptor descriptor) |
Modifier and Type | Method and Description |
---|---|
org.apache.bcel.classfile.JavaClass |
JavaClassAnalysisEngine.analyze(IAnalysisCache analysisCache,
ClassDescriptor descriptor) |
org.apache.bcel.generic.ConstantPoolGen |
ConstantPoolGenFactory.analyze(IAnalysisCache analysisCache,
ClassDescriptor descriptor) |
ClassContext |
ClassContextClassAnalysisEngine.analyze(IAnalysisCache analysisCache,
ClassDescriptor descriptor) |
AssignedFieldMap |
AssignedFieldMapFactory.analyze(IAnalysisCache analysisCache,
ClassDescriptor descriptor) |
AssertionMethods |
AssertionMethodsFactory.analyze(IAnalysisCache analysisCache,
ClassDescriptor descriptor) |
ValueRangeAnalysisFactory.ValueRangeAnalysis |
ValueRangeAnalysisFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
ValueNumberDataflow |
ValueNumberDataflowFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
UsagesRequiringNonNullValues |
UsagesRequiringNonNullValuesFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
UnpackedCode |
UnpackedCodeFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
UnconditionalValueDerefDataflow |
UnconditionalValueDerefDataflowFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
TypeDataflow |
TypeDataflowFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
StoreDataflow |
StoreDataflowFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
ReverseDepthFirstSearch |
ReverseDepthFirstSearchFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
ReturnPathTypeDataflow |
ReturnPathTypeDataflowFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
ReturnPathDataflow |
ReturnPathDataflowFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
java.lang.String[] |
ParameterSignatureListFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
ObligationDataflow |
ObligationDataflowFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor) |
NonImplicitExceptionPostDominatorsAnalysis |
NonImplicitExceptionPostDominatorsAnalysisFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
NonExceptionPostdominatorsAnalysis |
NonExceptionPostdominatorsAnalysisFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
org.apache.bcel.generic.MethodGen |
MethodGenFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
org.apache.bcel.classfile.Method |
MethodFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
MethodBytecodeSet |
MethodBytecodeSetFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
LockDataflow |
LockDataflowFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
LockChecker |
LockCheckerFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
LoadedFieldSet |
LoadedFieldSetFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
LoadDataflow |
LoadDataflowFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
LiveLocalStoreDataflow |
LiveLocalStoreDataflowFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
IsNullValueDataflow |
IsNullValueDataflowFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
ForwardTypeQualifierDataflowFactory |
ForwardTypeQualifierDataflowFactoryFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
FinallyDuplicatesInfoFactory.FinallyDuplicatesInfo |
FinallyDuplicatesInfoFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
ExceptionSetFactory |
ExceptionSetFactoryFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
DominatorsAnalysis |
DominatorsAnalysisFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
DepthFirstSearch |
DepthFirstSearchFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
ConstantDataflow |
ConstantDataflowFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
CompactLocationNumbering |
CompactLocationNumberingFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
CallListDataflow |
CallListDataflowFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
CFG |
CFGFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
BlockTypeDataflow |
BlockTypeAnalysisFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
BackwardTypeQualifierDataflowFactory |
BackwardTypeQualifierDataflowFactoryFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
protected AssertionMethods |
AnalysisFactory.getAssertionMethods(IAnalysisCache analysisCache,
ClassDescriptor classDescriptor) |
protected CFG |
AnalysisFactory.getCFG(IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor) |
protected CompactLocationNumbering |
AnalysisFactory.getCompactLocationNumbering(IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor) |
protected org.apache.bcel.generic.ConstantPoolGen |
AnalysisFactory.getConstantPoolGen(IAnalysisCache analysisCache,
ClassDescriptor classDescriptor) |
protected DepthFirstSearch |
AnalysisFactory.getDepthFirstSearch(IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor) |
protected ExceptionSetFactory |
AnalysisFactory.getExceptionSetFactory(IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor) |
protected IsNullValueDataflow |
AnalysisFactory.getIsNullValueDataflow(IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor) |
protected org.apache.bcel.classfile.JavaClass |
AnalysisFactory.getJavaClass(IAnalysisCache analysisCache,
ClassDescriptor classDescriptor) |
protected LoadedFieldSet |
AnalysisFactory.getLoadedFieldSet(IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor) |
protected org.apache.bcel.classfile.Method |
AnalysisFactory.getMethod(IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor) |
protected org.apache.bcel.generic.MethodGen |
AnalysisFactory.getMethodGen(IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor) |
protected ReverseDepthFirstSearch |
AnalysisFactory.getReverseDepthFirstSearch(IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor) |
protected TypeDataflow |
AnalysisFactory.getTypeDataflow(IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor) |
protected ValueNumberDataflow |
AnalysisFactory.getValueNumberDataflow(IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor) |
Modifier and Type | Method and Description |
---|---|
void |
ClassPathBuilder.build(IClassPath classPath,
IClassPathBuilderProgress progress) |
<E> E |
AnalysisCache.getClassAnalysis(java.lang.Class<E> analysisClass,
ClassDescriptor classDescriptor) |
<E> E |
AnalysisCache.getMethodAnalysis(java.lang.Class<E> analysisClass,
MethodDescriptor methodDescriptor) |
Modifier and Type | Method and Description |
---|---|
void |
TestDataflowAnalysis.visitClass(ClassDescriptor classDescriptor) |
void |
FindUnsatisfiedObligation.visitClass(ClassDescriptor classDescriptor) |
void |
CheckTypeQualifiers.visitClass(ClassDescriptor classDescriptor) |
void |
CheckRelaxingNullnessAnnotation.visitClass(ClassDescriptor classDescriptor) |
void |
CheckExpectedWarnings.visitClass(ClassDescriptor classDescriptor) |
void |
BuildObligationPolicyDatabase.visitClass(ClassDescriptor classDescriptor) |
protected void |
FindUnsatisfiedObligation.visitMethodCFG(MethodDescriptor methodDescriptor,
CFG cfg) |
protected void |
CheckTypeQualifiers.visitMethodCFG(MethodDescriptor methodDescriptor,
CFG cfg) |
Modifier and Type | Class and Description |
---|---|
class |
OrderingConstraintException
An exception indicating that the detector ordering constraints specified by a
plugin are invalid.
|
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.