Package edu.umd.cs.findbugs.detect
Class Naming
java.lang.Object
edu.umd.cs.findbugs.visitclass.BetterVisitor
edu.umd.cs.findbugs.visitclass.PreorderVisitor
edu.umd.cs.findbugs.detect.Naming
- All Implemented Interfaces:
Detector
,Priorities
,org.apache.bcel.classfile.Visitor
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription(package private) String
private final BugReporter
(package private) boolean
(package private) boolean
(package private) boolean
private boolean
Eclipse uses reflection to initialize NLS message bundles.private static final Pattern
Fields inherited from interface edu.umd.cs.findbugs.Priorities
EXP_PRIORITY, HIGH_PRIORITY, IGNORE_PRIORITY, LOW_PRIORITY, NORMAL_PRIORITY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
allAbstract
(Set<XMethod> overrides) private boolean
badFieldName
(org.apache.bcel.classfile.Field obj) private boolean
badMethodName
(String mName) private boolean
checkNonSuper
(XMethod m, Set<XMethod> others) private boolean
checkSuper
(XMethod m, Set<XMethod> others) private boolean
codeDoesSomething
(org.apache.bcel.classfile.Code code) static boolean
static boolean
static XMethod
private static org.apache.bcel.classfile.Method
findVoidConstructor
(org.apache.bcel.classfile.JavaClass clazz) private static String
getSignatureOfOuterClass
(org.apache.bcel.classfile.JavaClass obj) private static boolean
isVoidConstructor
(org.apache.bcel.classfile.JavaClass clazz, org.apache.bcel.classfile.Method m) private boolean
markedAsNotUsable
(org.apache.bcel.classfile.Method obj) private static boolean
Determine whether the class descriptor ultimately inherits from java.lang.Exceptionprivate static String
void
report()
This method is called after all classes to be visited.boolean
sameSimpleName
(String class1, String class2) stripPackageName
(String className) void
visit
(org.apache.bcel.classfile.Field obj) void
visit
(org.apache.bcel.classfile.JavaClass obj) void
visit
(org.apache.bcel.classfile.Method obj) void
visitClassContext
(ClassContext classContext) Visit the ClassContext for a class which should be analyzed for instances of bug patterns.void
visitJavaClass
(org.apache.bcel.classfile.JavaClass obj) Methods inherited from class edu.umd.cs.findbugs.visitclass.PreorderVisitor
amVisitingMainMethod, asUnsignedByte, doVisitMethod, getClassDescriptor, getClassName, getCode, getConstantPool, getDottedClassName, getDottedFieldSig, getDottedMethodSig, getDottedSuperclassName, getField, getFieldDescriptor, getFieldIsStatic, getFieldName, getFieldSig, getFullyQualifiedFieldName, getFullyQualifiedMethodName, getMethod, getMethodDescriptor, getMethodName, getMethodSig, getMethodVisitOrder, getNumberArguments, getNumberMethodArguments, getPackageName, getSizeOfSurroundingTryBlock, getSizeOfSurroundingTryBlock, getSourceFile, getStringFromIndex, getSuperclassName, getSurroundingCaughtExceptions, getSurroundingCaughtExceptions, getSurroundingCaughtExceptionTypes, getSurroundingTryBlock, getSurroundingTryBlock, getThisClass, getXClass, getXField, getXMethod, hasInterestingClass, hasInterestingMethod, isVisitMethodsInCallOrder, setupVisitorForClass, setVisitMethodsInCallOrder, shouldVisit, toString, visitAfter, visitAfter, visitAnnotation, visitAnnotationDefault, visitAnnotationEntry, visitBootstrapMethods, visitCode, visitConstantInvokeDynamic, visitConstantMethodHandle, visitConstantMethodType, visitConstantModule, visitConstantPackage, visitConstantPool, visitEnclosingMethod, visitingField, visitingMethod, visitInnerClasses, visitLineNumberTable, visitLocalVariableTable, visitMethodParameters, visitParameterAnnotation, visitParameterAnnotationEntry, visitStackMap, visitStackMapEntry
Methods inherited from class edu.umd.cs.findbugs.visitclass.BetterVisitor
clone, report, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitCodeException, visitConstantClass, visitConstantDouble, visitConstantFieldref, visitConstantFloat, visitConstantInteger, visitConstantInterfaceMethodref, visitConstantLong, visitConstantMethodref, visitConstantNameAndType, visitConstantString, visitConstantUtf8, visitConstantValue, visitDeprecated, visitExceptionTable, visitField, visitInnerClass, visitLineNumber, visitLocalVariable, visitLocalVariableTypeTable, visitMethod, visitSignature, visitSourceFile, visitSynthetic, visitUnknown
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.bcel.classfile.Visitor
visitConstantDynamic, visitMethodParameter, visitModule, visitModuleExports, visitModuleMainClass, visitModuleOpens, visitModulePackages, visitModuleProvides, visitModuleRequires, visitNestHost, visitNestMembers, visitStackMapType
-
Field Details
-
baseClassName
String baseClassName -
classIsPublicOrProtected
boolean classIsPublicOrProtected -
canonicalToXMethod
-
visited
-
bugReporter
-
hasBadMethodNames
boolean hasBadMethodNames -
hasBadFieldNames
boolean hasBadFieldNames -
isEclipseNLS
private boolean isEclipseNLSEclipse uses reflection to initialize NLS message bundles. Classes which using this mechanism are usually extending org.eclipse.osgi.util.NLS class and contains lots of public static String fields which are used as message Constants. Unfortunately these fields often has bad names which does not follow Java code convention, so FB reports tons of warnings for such Eclipse message fields.- See Also:
-
sigType
-
-
Constructor Details
-
Naming
-
-
Method Details
-
definedIn
-
confusingMethodNamesWrongCapitalization
-
confusingMethodNamesWrongPackage
-
visitClassContext
Description copied from interface:Detector
Visit the ClassContext for a class which should be analyzed for instances of bug patterns.- Specified by:
visitClassContext
in interfaceDetector
- Parameters:
classContext
- the ClassContext
-
checkSuper
-
allAbstract
-
checkNonSuper
-
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. -
stripPackageName
-
sameSimpleName
-
visitJavaClass
public void visitJavaClass(org.apache.bcel.classfile.JavaClass obj) - Specified by:
visitJavaClass
in interfaceorg.apache.bcel.classfile.Visitor
- Overrides:
visitJavaClass
in classPreorderVisitor
-
mightInheritFromException
Determine whether the class descriptor ultimately inherits from java.lang.Exception- Parameters:
d
- class descriptor we want to check- Returns:
- true iff the descriptor ultimately inherits from Exception
-
visit
public void visit(org.apache.bcel.classfile.JavaClass obj) - Overrides:
visit
in classBetterVisitor
-
visit
public void visit(org.apache.bcel.classfile.Field obj) - Overrides:
visit
in classBetterVisitor
-
badFieldName
private boolean badFieldName(org.apache.bcel.classfile.Field obj) -
getSignatureOfOuterClass
@CheckForNull private static String getSignatureOfOuterClass(org.apache.bcel.classfile.JavaClass obj) -
markedAsNotUsable
private boolean markedAsNotUsable(org.apache.bcel.classfile.Method obj) -
findVoidConstructor
@CheckForNull private static org.apache.bcel.classfile.Method findVoidConstructor(org.apache.bcel.classfile.JavaClass clazz) -
visit
public void visit(org.apache.bcel.classfile.Method obj) - Overrides:
visit
in classBetterVisitor
-
isVoidConstructor
private static boolean isVoidConstructor(org.apache.bcel.classfile.JavaClass clazz, org.apache.bcel.classfile.Method m) -
badMethodName
-
codeDoesSomething
private boolean codeDoesSomething(org.apache.bcel.classfile.Code code) -
removePackageNamesFromSignature
-