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) Stringprivate final BugReporter(package private) boolean(package private) boolean(package private) booleanprivate booleanEclipse uses reflection to initialize NLS message bundles.private static final PatternFields inherited from interface Priorities
EXP_PRIORITY, HIGH_PRIORITY, IGNORE_PRIORITY, LOW_PRIORITY, NORMAL_PRIORITY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanallAbstract(Set<XMethod> overrides) private booleanbadFieldName(org.apache.bcel.classfile.Field obj) private booleanbadMethodName(String mName) private booleancheckNonSuper(XMethod m, Set<XMethod> others) private booleancheckSuper(XMethod m, Set<XMethod> others) private booleancodeDoesSomething(org.apache.bcel.classfile.Code code) static booleanstatic booleanstatic XMethodprivate static org.apache.bcel.classfile.MethodfindVoidConstructor(org.apache.bcel.classfile.JavaClass clazz) private static StringgetSignatureOfOuterClass(org.apache.bcel.classfile.JavaClass obj) private static booleanisVoidConstructor(org.apache.bcel.classfile.JavaClass clazz, org.apache.bcel.classfile.Method m) private booleanmarkedAsNotUsable(org.apache.bcel.classfile.Method obj) private booleanDetermine whether the class descriptor ultimately inherits from java.lang.Exceptionprivate static Stringvoidreport()This method is called after all classes to be visited.booleansameSimpleName(String class1, String class2) stripPackageName(String className) voidvisit(org.apache.bcel.classfile.Field obj) voidvisit(org.apache.bcel.classfile.JavaClass obj) voidvisit(org.apache.bcel.classfile.Method obj) voidvisitClassContext(ClassContext classContext) Visit the ClassContext for a class which should be analyzed for instances of bug patterns.voidvisitJavaClass(org.apache.bcel.classfile.JavaClass obj) Methods inherited from class 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, visitStackMapEntryMethods inherited from class 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, visitUnknownMethods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.bcel.classfile.Visitor
visitConstantDynamic, visitMethodParameter, visitModule, visitModuleExports, visitModuleMainClass, visitModuleOpens, visitModulePackages, visitModuleProvides, visitModuleRequires, visitNestHost, visitNestMembers, visitRecord, visitRecordComponent, 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:DetectorVisit the ClassContext for a class which should be analyzed for instances of bug patterns.- Specified by:
visitClassContextin interfaceDetector- Parameters:
classContext- the ClassContext
-
checkSuper
-
allAbstract
-
checkNonSuper
-
report
-
stripPackageName
-
sameSimpleName
-
visitJavaClass
public void visitJavaClass(org.apache.bcel.classfile.JavaClass obj) - Specified by:
visitJavaClassin interfaceorg.apache.bcel.classfile.Visitor- Overrides:
visitJavaClassin 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:
visitin classBetterVisitor
-
visit
public void visit(org.apache.bcel.classfile.Field obj) - Overrides:
visitin 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:
visitin 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
-