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.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.ch | |
edu.umd.cs.findbugs.ba.deref | |
edu.umd.cs.findbugs.ba.generic | |
edu.umd.cs.findbugs.ba.jsr305 |
Support for analyzing code containing JSR-305 type qualifier annotations.
|
edu.umd.cs.findbugs.ba.npe | |
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.ba.type | |
edu.umd.cs.findbugs.ba.vna | |
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.analysis |
Classes of objects that are the result of executing an analysis
engine on a class or method. The classes in this particular package are
those that are independent of any particular bytecode-analysis framework
(e.g., BCEL or ASM). Two important classes in this package are
ClassData, which represents the raw data of a class, and ClassInfo,
which represents symbolic information parsed from the class data.
|
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.detect | |
edu.umd.cs.findbugs.filter | |
edu.umd.cs.findbugs.gui2 | |
edu.umd.cs.findbugs.sourceViewer | |
edu.umd.cs.findbugs.util | |
edu.umd.cs.findbugs.visitclass | |
edu.umd.cs.findbugs.xml |
Modifier and Type | Method | Description |
---|---|---|
java.lang.String |
BugDesignation.getAnnotationText() |
|
PackageStats.ClassStats |
ProjectStats.getClassStats(java.lang.String className) |
Report that a class has been analyzed.
|
static BugAnnotation |
BugInstance.getFieldOrMethodValueSource(OpcodeStack.Item item) |
|
java.lang.String |
OpcodeStack.Item.getHttpParameterName() |
|
org.apache.bcel.classfile.JavaClass |
OpcodeStack.Item.getJavaClass() |
Returns null for primitive and arrays
|
XMethod |
OpcodeStack.Item.getReturnValueOf() |
|
static BugAnnotation |
BugInstance.getSomeSource(ClassContext classContext,
org.apache.bcel.classfile.Method method,
Location location,
OpcodeStack stack,
int stackPos) |
|
java.lang.String |
PackageStats.ClassStats.getSourceFile() |
|
static BugAnnotation |
BugInstance.getSourceForTopStackValue(ClassContext classContext,
org.apache.bcel.classfile.Method method,
Location location) |
|
java.lang.String |
BugDesignation.getUser() |
|
java.lang.String |
BugInstance.getUserName() |
|
BugPattern |
I18N.lookupBugPattern(java.lang.String bugType) |
Look up bug pattern.
|
Modifier and Type | Method | Description |
---|---|---|
void |
ProjectStats.addClass(java.lang.String className,
java.lang.String sourceFile,
boolean isInterface,
int size) |
Report that a class has been analyzed.
|
BugInstance |
BugInstance.addEqualsMethodUsed(java.util.Collection<XMethod> equalsMethods) |
|
BugInstance |
BugInstance.addOptionalAnnotation(BugAnnotation annotation) |
|
BugInstance |
BugInstance.addOptionalAnnotation(BugAnnotation annotation,
java.lang.String role) |
|
BugInstance |
BugInstance.addOptionalField(XField xfield) |
Add a field annotation for an XField.
|
static SourceLineAnnotation |
SourceLineAnnotation.forEntireMethod(org.apache.bcel.classfile.JavaClass javaClass,
org.apache.bcel.classfile.Method method) |
Create a SourceLineAnnotation covering an entire method.
|
static BugAnnotation |
BugInstance.getFieldOrMethodValueSource(OpcodeStack.Item item) |
|
void |
BugDesignation.merge(BugDesignation other) |
replace unset fields of this user designation with values set in the other
|
void |
BugInstance.setAnnotationText(java.lang.String annotationText,
BugCollection bugCollection) |
Set the user annotation text.
|
void |
BugInstance.setUserDesignationKey(java.lang.String key,
BugCollection bugCollection) |
|
void |
BugInstance.setUserDesignationKeyIndex(int index,
BugCollection bugCollection) |
s
|
void |
Project.writeXML(XMLOutput xmlOutput,
java.lang.Object destination) |
Modifier and Type | Method | Description |
---|---|---|
static JavaClassAndMethod |
Hierarchy.findConcreteMethod(org.apache.bcel.classfile.JavaClass javaClass,
java.lang.String methodName,
java.lang.String methodSig) |
Deprecated.
|
static org.apache.bcel.generic.ObjectType[] |
Hierarchy2.findDeclaredExceptions(org.apache.bcel.generic.InvokeInstruction inv,
org.apache.bcel.generic.ConstantPoolGen cpg) |
Find the declared exceptions for the method called
by given instruction.
|
static JavaClassAndMethod |
Hierarchy.findInvocationLeastUpperBound(org.apache.bcel.classfile.JavaClass jClass,
java.lang.String methodName,
java.lang.String methodSig,
JavaClassAndMethodChooser methodChooser,
boolean invokeInterface) |
|
static JavaClassAndMethod |
Hierarchy.findInvocationLeastUpperBound(org.apache.bcel.generic.InvokeInstruction inv,
org.apache.bcel.generic.ConstantPoolGen cpg) |
Find the least upper bound method in the class hierarchy
which could be called by the given InvokeInstruction.
|
static JavaClassAndMethod |
Hierarchy.findInvocationLeastUpperBound(org.apache.bcel.generic.InvokeInstruction inv,
org.apache.bcel.generic.ConstantPoolGen cpg,
JavaClassAndMethodChooser methodChooser) |
|
static XMethod |
Hierarchy2.findInvocationLeastUpperBound(XClass jClass,
java.lang.String methodName,
java.lang.String methodSig,
boolean invokeStatic,
boolean invokeInterface) |
|
static XMethod |
Hierarchy2.findInvocationLeastUpperBound(ClassDescriptor classDesc,
java.lang.String methodName,
java.lang.String methodSig,
boolean invokeStatic,
boolean invokeInterface) |
|
static XMethod |
Hierarchy2.findInvocationLeastUpperBound(org.apache.bcel.generic.InvokeInstruction inv,
org.apache.bcel.generic.ConstantPoolGen cpg,
JavaClassAndMethodChooser methodChooser) |
|
static XMethod |
Hierarchy.findMethod(ClassDescriptor classDesc,
java.lang.String methodName,
java.lang.String methodSig,
boolean isStatic) |
Find a method in given class.
|
static JavaClassAndMethod |
Hierarchy.findMethod(org.apache.bcel.classfile.JavaClass javaClass,
java.lang.String methodName,
java.lang.String methodSig) |
Find a method in given class.
|
static JavaClassAndMethod |
Hierarchy.findMethod(org.apache.bcel.classfile.JavaClass javaClass,
java.lang.String methodName,
java.lang.String methodSig,
JavaClassAndMethodChooser chooser) |
|
static XMethod |
Hierarchy2.findMethod(ClassDescriptor classDescriptor,
java.lang.String methodName,
java.lang.String methodSig,
boolean isStatic) |
|
static XMethod |
Hierarchy.findXMethod(org.apache.bcel.classfile.JavaClass javaClass,
java.lang.String methodName,
java.lang.String methodSig,
JavaClassAndMethodChooser chooser) |
Deprecated.
|
static java.util.BitSet |
ClassContext.getBytecodeSet(org.apache.bcel.classfile.JavaClass clazz,
org.apache.bcel.classfile.Method method) |
Get a BitSet representing the bytecodes that are used in the given method.
|
java.util.BitSet |
ClassContext.getBytecodeSet(org.apache.bcel.classfile.Method method) |
Get a BitSet representing the bytecodes that are used in the given method.
|
SourceInfoMap.SourceLineRange |
SourceInfoMap.getClassLine(java.lang.String className) |
Look up the line number range for a class.
|
SourceInfoMap.SourceLineRange |
SourceInfoMap.getFieldLine(java.lang.String className,
java.lang.String fieldName) |
Look up the line number range for a field.
|
org.apache.bcel.generic.MethodGen |
ClassContext.getMethodGen(org.apache.bcel.classfile.Method method) |
Get a MethodGen object for given method.
|
SourceInfoMap.SourceLineRange |
SourceInfoMap.getMethodLine(java.lang.String className,
java.lang.String methodName,
java.lang.String methodSignature) |
Look up the line number range for a method.
|
AnnotationEnum |
AnnotationDatabase.getResolvedAnnotation(java.lang.Object o,
boolean getMinimal) |
|
NullnessAnnotation |
INullnessAnnotationDatabase.getResolvedAnnotation(java.lang.Object o,
boolean getMinimal) |
Get a resolved NullnessAnnotation on given XMethod, XField, or XMethodParameter.
|
NullnessAnnotation |
NullnessAnnotationDatabase.getResolvedAnnotation(java.lang.Object o,
boolean getMinimal) |
|
java.lang.String |
XClass.getSource() |
|
ClassDescriptor |
XClass.getSuperclassDescriptor() |
Get ClassDescriptor of this class's immediate superclass.
|
AnnotationEnum |
AnnotationDatabase.getUncachedResolvedAnnotation(java.lang.Object o,
boolean getMinimal) |
|
XClass |
XFactory.getXClass(ClassDescriptor classDescriptor) |
Get the XClass object providing information about the class named by the
given ClassDescriptor.
|
static CheckReturnValueAnnotation |
CheckReturnValueAnnotation.parse(java.lang.String priority) |
|
static NullnessAnnotation |
NullnessAnnotation.Parser.parse(java.lang.String s) |
Modifier and Type | Method | Description |
---|---|---|
static void |
ClassContext.dumpDataflowInformation(org.apache.bcel.classfile.Method method,
CFG cfg,
ValueNumberDataflow vnd,
IsNullValueDataflow inv,
UnconditionalValueDerefDataflow dataflow,
TypeDataflow typeDataflow) |
|
static void |
ClassContext.dumpDataflowInformation(org.apache.bcel.classfile.Method method,
CFG cfg,
ValueNumberDataflow vnd,
IsNullValueDataflow inv,
UnconditionalValueDerefDataflow dataflow,
TypeDataflow typeDataflow) |
|
boolean |
XFactory.isEmptyArrayField(XField f) |
|
void |
AbstractDataflowAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
Fact start,
Fact result) |
|
void |
AbstractDominatorsAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
java.util.BitSet start,
java.util.BitSet result) |
|
void |
BlockTypeAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
BlockType start,
BlockType result) |
|
void |
DataflowAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
Fact start,
Fact result) |
Transfer function for the analysis.
|
Modifier and Type | Method | Description |
---|---|---|
boolean |
InheritanceGraphVisitor.visitClass(ClassDescriptor classDescriptor,
XClass xclass) |
Visit a class vertex in the inheritance graph.
|
boolean |
InheritanceGraphVisitor.visitEdge(ClassDescriptor sourceDesc,
XClass source,
ClassDescriptor targetDesc,
XClass target) |
Visit an inheritance edge in the inheritance graph.
|
Modifier and Type | Method | Description |
---|---|---|
static java.util.Set<ValueNumber> |
UnconditionalValueDerefAnalysis.checkAllNonNullParams(Location location,
ValueNumberFrame vnaFrame,
org.apache.bcel.generic.ConstantPoolGen constantPool,
org.apache.bcel.classfile.Method method,
IsNullValueDataflow invDataflow,
TypeDataflow typeDataflow) |
|
static java.util.Set<ValueNumber> |
UnconditionalValueDerefAnalysis.checkAllNonNullParams(Location location,
ValueNumberFrame vnaFrame,
org.apache.bcel.generic.ConstantPoolGen constantPool,
org.apache.bcel.classfile.Method method,
IsNullValueDataflow invDataflow,
TypeDataflow typeDataflow) |
|
static java.util.Set<ValueNumber> |
UnconditionalValueDerefAnalysis.checkNonNullParams(Location location,
ValueNumberFrame vnaFrame,
org.apache.bcel.generic.ConstantPoolGen constantPool,
org.apache.bcel.classfile.Method method,
IsNullValueFrame invFrame) |
|
static java.util.Set<ValueNumber> |
UnconditionalValueDerefAnalysis.checkNonNullParams(Location location,
ValueNumberFrame vnaFrame,
org.apache.bcel.generic.ConstantPoolGen constantPool,
org.apache.bcel.classfile.Method method,
IsNullValueFrame invFrame) |
|
static java.util.Set<ValueNumber> |
UnconditionalValueDerefAnalysis.checkUnconditionalDerefDatabase(Location location,
ValueNumberFrame vnaFrame,
org.apache.bcel.generic.ConstantPoolGen constantPool,
IsNullValueFrame invFrame,
TypeDataflow typeDataflow) |
|
void |
UnconditionalValueDerefSet.cleanDerefSet(Location location,
ValueNumberFrame vnaFrame) |
|
void |
UnconditionalValueDerefSet.mergeWith(UnconditionalValueDerefSet fact,
ValueNumber skipMe,
ValueNumberFactory valueNumberFactory) |
Merge given dataflow fact into this one.
|
Modifier and Type | Method | Description |
---|---|---|
static java.util.Iterator<java.lang.String> |
GenericSignatureParser.getGenericSignatureIterator(org.apache.bcel.classfile.Method target) |
Modifier and Type | Field | Description |
---|---|---|
java.lang.Object |
TypeQualifierValue.value |
Modifier and Type | Method | Description |
---|---|---|
static TypeQualifierAnnotation |
TypeQualifierAnnotation.combineReturnTypeAnnotations(TypeQualifierAnnotation a,
TypeQualifierAnnotation b) |
Combine return type annotations.
|
static TypeQualifierAnnotation |
TypeQualifierApplications.getDirectTypeQualifierAnnotation(XMethod xmethod,
int parameter,
TypeQualifierValue typeQualifierValue) |
Get the TypeQualifierAnnotation directly applied to given
method parameter.
|
static TypeQualifierAnnotation |
TypeQualifierApplications.getEffectiveTypeQualifierAnnotation(XMethod xmethod,
int parameter,
TypeQualifierValue typeQualifierValue) |
Get the effective TypeQualifierAnnotation on given method parameter.
|
Modifier and Type | Method | Description |
---|---|---|
PointerUsageRequiringNonNullValue |
UsagesRequiringNonNullValues.get(Location loc,
ValueNumber vn,
ValueNumberDataflow vnaDataflow) |
|
IsNullValue |
IsNullConditionDecision.getDecision(int edgeType) |
Get the decision reached about the value on outgoing edge of given type.
|
IsNullConditionDecision |
IsNullValueFrame.getDecision() |
|
static IsNullValueAnalysis.PointerEqualityCheck |
IsNullValueAnalysis.getForPointerEqualityCheck(CFG cfg,
ValueNumberDataflow vna) |
|
IsNullValue |
IsNullValueFrame.getKnownValue(ValueNumber valueNumber) |
|
XField |
PointerUsageRequiringNonNullValue.getNonNullField() |
|
XMethodParameter |
PointerUsageRequiringNonNullValue.getNonNullParameter() |
|
XMethod |
TypeQualifierNullnessAnnotationDatabase.getXMethod(java.lang.String cName,
java.lang.String mName,
java.lang.String sig,
boolean isStatic) |
Modifier and Type | Method | Description |
---|---|---|
void |
IsNullValueAnalysis.endTransfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
IsNullValueFrame result) |
|
void |
IsNullValueFrame.setDecision(IsNullConditionDecision decision) |
|
void |
IsNullValueAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
IsNullValueFrame start,
IsNullValueFrame result) |
Constructor | Description |
---|---|
IsNullConditionDecision(ValueNumber value,
IsNullValue ifcmpDecision,
IsNullValue fallThroughDecision) |
Constructor.
|
IsNullConditionDecision(ValueNumber value,
IsNullValue ifcmpDecision,
IsNullValue fallThroughDecision) |
Constructor.
|
IsNullConditionDecision(ValueNumber value,
IsNullValue ifcmpDecision,
IsNullValue fallThroughDecision) |
Constructor.
|
Modifier and Type | Method | Description |
---|---|---|
void |
ObligationAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
StateSet start,
StateSet result) |
Modifier and Type | Method | Description |
---|---|---|
void |
TypeAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
TypeFrame start,
TypeFrame result) |
Modifier and Type | Method | Description |
---|---|---|
AvailableLoad |
ValueNumberFrame.getLoad(ValueNumber v) |
Modifier and Type | Method | Description |
---|---|---|
void |
ValueNumberFrame.killAllLoadsExceptFor(ValueNumber v) |
|
void |
ValueNumberFrame.killAllLoadsOf(ValueNumber v) |
Kill all loads.
|
Modifier and Type | Method | Description |
---|---|---|
static ClassDescriptor |
DescriptorFactory.createClassDescriptorFromFieldSignature(java.lang.String signature) |
Create a class descriptor from a field signature
|
static ClassDescriptor |
ClassDescriptor.fromFieldSignature(java.lang.String signature) |
Deprecated.
|
Modifier and Type | Method | Description |
---|---|---|
static java.lang.String |
DescriptorFactory.canonicalizeString(java.lang.String s) |
Modifier and Type | Method | Description |
---|---|---|
AnnotatedObject |
AnnotatedObject.getContainingScope() |
|
AnnotatedObject |
ClassInfo.getContainingScope() |
|
AnnotatedObject |
FieldInfo.getContainingScope() |
|
AnnotatedObject |
MethodInfo.getContainingScope() |
|
AnnotatedObject |
ClassInfo.getContainingScope0() |
|
java.lang.String |
ClassInfo.getSource() |
|
java.lang.String[] |
MethodInfo.getThrownExceptions() |
Constructor | Description |
---|---|
ClassParser(java.io.DataInputStream in,
ClassDescriptor expectedClassDescriptor,
ICodeBaseEntry codeBaseEntry) |
Constructor.
|
ClassParserUsingASM(org.objectweb.asm.ClassReader classReader,
ClassDescriptor expectedClassDescriptor,
ICodeBaseEntry codeBaseEntry) |
|
ClassParserUsingBCEL(org.apache.bcel.classfile.JavaClass javaClass,
ClassDescriptor expectedClassDescriptor,
ICodeBaseEntry codeBaseEntry) |
Deprecated.
|
Modifier and Type | Method | Description |
---|---|---|
static XMethod |
Naming.definedIn(org.apache.bcel.classfile.JavaClass clazz,
XMethod m) |
Constructor | Description |
---|---|
BuildNonNullAnnotationDatabase(NullnessAnnotationDatabase database) |
Modifier and Type | Field | Description |
---|---|---|
protected java.lang.String |
MemberMatcher.signature |
Modifier and Type | Method | Description |
---|---|---|
protected java.lang.String |
CommentsArea.convertDesignationNameToDesignationKey(java.lang.String name) |
|
static BugCollection |
BugLoader.doAnalysis(Project p) |
Does what it says it does, hit apple r (control r on pc) and the analysis is redone using the current project
|
static SortedBugCollection |
BugLoader.loadBugs(MainFrame mainFrame,
Project project,
java.io.File source) |
|
static SortedBugCollection |
BugLoader.loadBugs(MainFrame mainFrame,
Project project,
java.net.URL url) |
|
static Project |
BugLoader.loadProject(MainFrame mainFrame,
java.io.File f) |
|
static BugCollection |
BugLoader.redoAnalysisKeepComments(Project p) |
Does what it says it does, hit apple r (control r on pc) and the analysis is redone using the current project
|
Modifier and Type | Method | Description |
---|---|---|
static void |
FilterActivity.notifyListeners(FilterListener.Action whatsGoingOnCode,
javax.swing.tree.TreePath optionalPath) |
Modifier and Type | Method | Description |
---|---|---|
java.awt.Color |
HighlightInformation.getHighlight(java.lang.Integer line) |
Modifier and Type | Method | Description |
---|---|---|
static java.lang.String |
ClassName.fromFieldSignature(java.lang.String signature) |
Modifier and Type | Method | Description |
---|---|---|
static <T extends java.lang.Comparable<? super T>> |
Util.nullSafeCompareTo(T o1,
T o2) |
|
static <T extends java.lang.Comparable<? super T>> |
Util.nullSafeCompareTo(T o1,
T o2) |
|
static <T> boolean |
Util.nullSafeEquals(T o1,
T o2) |
|
static <T> boolean |
Util.nullSafeEquals(T o1,
T o2) |
|
static int |
Util.nullSafeHashcode(java.lang.Object o) |
Modifier and Type | Method | Description |
---|---|---|
static org.apache.bcel.classfile.JavaClass |
Util.getOuterClass(org.apache.bcel.classfile.JavaClass obj) |
Determine the outer class of obj.
|
XClass |
DismantleBytecode.getXClassOperand() |
|
XField |
DismantleBytecode.getXFieldOperand() |
|
XMethod |
DismantleBytecode.getXMethodOperand() |
Modifier and Type | Method | Description |
---|---|---|
static int |
Util.getSizeOfSurroundingTryBlock(org.apache.bcel.classfile.ConstantPool constantPool,
org.apache.bcel.classfile.Code code,
java.lang.String vmNameOfExceptionClass,
int pc) |
|
static int |
Util.getSizeOfSurroundingTryBlock(org.apache.bcel.classfile.Method method,
java.lang.String vmNameOfExceptionClass,
int pc) |
Modifier and Type | Method | Description |
---|---|---|
XMLAttributeList |
XMLAttributeList.addOptionalAttribute(java.lang.String name,
java.lang.String value) |
Add a single attribute name and value.
|
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.