Package edu.umd.cs.findbugs.detect
Class CheckRelaxingNullnessAnnotation
java.lang.Object
org.objectweb.asm.ClassVisitor
org.objectweb.asm.tree.ClassNode
edu.umd.cs.findbugs.asm.ClassNodeDetector
edu.umd.cs.findbugs.detect.CheckRelaxingNullnessAnnotation
- All Implemented Interfaces:
Detector2
,Priorities
Checks that overriding methods do not relax
Nonnull
(made
CheckForNull
) on return values or CheckForNull
(made
Nonnull
) on parameters.
The code accepts also old (deprecated) nullness annotations from
edu.umd.cs.findbugs.annotations
package.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate final class
private class
-
Field Summary
FieldsFields inherited from class edu.umd.cs.findbugs.asm.ClassNodeDetector
bugReporter
Fields inherited from class org.objectweb.asm.tree.ClassNode
access, attrs, fields, innerClasses, interfaces, invisibleAnnotations, invisibleTypeAnnotations, methods, module, name, nestHostClass, nestMembers, outerClass, outerMethod, outerMethodDesc, permittedSubclasses, recordComponents, signature, sourceDebug, sourceFile, superName, version, visibleAnnotations, visibleTypeAnnotations
Fields inherited from class org.objectweb.asm.ClassVisitor
api, cv
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 TypeMethodDescription(package private) static boolean
areRelated
(String sig, String superSig) (package private) static boolean
compatibleParameters
(String signature, String superSignature) (package private) static boolean
containsNullness
(Collection<AnnotationValue> annotations, NullnessAnnotation nullness) (package private) static boolean
containsRelaxedNonNull
(List<org.objectweb.asm.tree.AnnotationNode> methodAnnotations) (package private) XClass
getClassInfo
(ClassDescriptor classDescr) (package private) static Map
<Integer, NullnessAnnotation> getNonnullOrNullableParams
(List<org.objectweb.asm.tree.AnnotationNode>[] parameterAnnotations) (package private) static NullnessAnnotation
getNullness
(String annotationDesc) void
visitClass
(ClassDescriptor classDescriptor) Visit a class.org.objectweb.asm.MethodVisitor
visitMethod
(int methodAccess, String methodName, String desc, String methodSignature, String[] exceptions) Methods inherited from class edu.umd.cs.findbugs.asm.ClassNodeDetector
finishPass
Methods inherited from class org.objectweb.asm.tree.ClassNode
accept, check, visit, visitAnnotation, visitAttribute, visitEnd, visitField, visitInnerClass, visitModule, visitNestHost, visitNestMember, visitOuterClass, visitPermittedSubclass, visitRecordComponent, visitSource, visitTypeAnnotation
Methods inherited from class org.objectweb.asm.ClassVisitor
getDelegate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface edu.umd.cs.findbugs.Detector2
getDetectorClassName
-
Field Details
-
xclass
XClass xclass
-
-
Constructor Details
-
CheckRelaxingNullnessAnnotation
-
-
Method Details
-
visitClass
Description copied from interface:Detector2
Visit a class.- Specified by:
visitClass
in interfaceDetector2
- Overrides:
visitClass
in classClassNodeDetector
- Parameters:
classDescriptor
- descriptor naming the class to visit- Throws:
CheckedAnalysisException
- if an exception occurs during analysis
-
getClassInfo
-
visitMethod
public org.objectweb.asm.MethodVisitor visitMethod(int methodAccess, String methodName, String desc, String methodSignature, String[] exceptions) - Overrides:
visitMethod
in classorg.objectweb.asm.tree.ClassNode
-
containsRelaxedNonNull
static boolean containsRelaxedNonNull(@CheckForNull List<org.objectweb.asm.tree.AnnotationNode> methodAnnotations) -
getNonnullOrNullableParams
@CheckForNull static Map<Integer,NullnessAnnotation> getNonnullOrNullableParams(@CheckForNull List<org.objectweb.asm.tree.AnnotationNode>[] parameterAnnotations) -
getNullness
-
containsNullness
static boolean containsNullness(Collection<AnnotationValue> annotations, NullnessAnnotation nullness) -
compatibleParameters
-
areRelated
-