@@ -39,29 +39,51 @@ public LombokSupport(CalledMethodsAnnotatedTypeFactory atypeFactory) {
39
39
this .atypeFactory = atypeFactory ;
40
40
}
41
41
42
- // The list is copied from lombok.core.handlers.HandlerUtil. The list cannot be used from that
43
- // class directly because Lombok does not provide class files for its own implementation, to
44
- // prevent itself from being accidentally added to clients' compile classpaths. This design
45
- // decision means that it is impossible to depend directly on Lombok internals.
42
+ // The list is copied from lombok.core.handlers.HandlerUtil:
43
+ // https://github.com/projectlombok/lombok/blob/master/src/core/lombok/core/handlers/HandlerUtil.java
44
+ // The list cannot be used from that class directly because Lombok does not provide
45
+ // class files for its own implementation, to prevent itself from being accidentally
46
+ // added to clients' compile classpaths. This design decision means that it is
47
+ // impossible to depend directly on Lombok internals.
46
48
/** The list of annotations that Lombok treats as non-null. */
47
49
public static final List <String > NONNULL_ANNOTATIONS =
48
50
Collections .unmodifiableList (
49
51
Arrays .asList (
50
52
"android.annotation.NonNull" ,
51
53
"android.support.annotation.NonNull" ,
52
- "com.sun.istack.internal.NotNull" ,
54
+ "android.support.annotation.RecentlyNonNull" ,
55
+ "androidx.annotation.NonNull" ,
56
+ "androidx.annotation.RecentlyNonNull" ,
57
+ "com.android.annotations.NonNull" ,
58
+ "com.google.firebase.database.annotations.NotNull" , // Even though it's in a
59
+ // database package, it does mean semantically: "Check if
60
+ // never null at the language level", and not 'db column cannot be null'.
61
+ "com.mongodb.lang.NonNull" , // Even though mongo is a DB engine,
62
+ // this semantically refers to language, not DB table designs (mongo is a
63
+ // document DB engine, so this isn't surprising perhaps).
64
+ "com.sun.istack.NotNull" ,
65
+ "com.unboundid.util.NotNull" ,
53
66
"edu.umd.cs.findbugs.annotations.NonNull" ,
67
+ "io.micrometer.core.lang.NonNull" ,
68
+ "io.reactivex.annotations.NonNull" ,
69
+ "io.reactivex.rxjava3.annotations.NonNull" ,
70
+ "jakarta.annotation.Nonnull" ,
54
71
"javax.annotation.Nonnull" ,
55
72
// "javax.validation.constraints.NotNull", // The field might contain a
56
73
// null value until it is persisted.
74
+ "libcore.util.NonNull" ,
57
75
"lombok.NonNull" ,
58
76
"org.checkerframework.checker.nullness.qual.NonNull" ,
77
+ "org.checkerframework.checker.nullness.compatqual.NonNullDecl" ,
78
+ "org.checkerframework.checker.nullness.compatqual.NonNullType" ,
79
+ "org.codehaus.commons.nullanalysis.NotNull" ,
59
80
"org.eclipse.jdt.annotation.NonNull" ,
60
- "org.eclipse.jgit.annotations.NonNull" ,
61
81
"org.jetbrains.annotations.NotNull" ,
62
82
"org.jmlspecs.annotation.NonNull" ,
83
+ "org.jspecify.annotations.NonNull" ,
63
84
"org.netbeans.api.annotations.common.NonNull" ,
64
- "org.springframework.lang.NonNull" ));
85
+ "org.springframework.lang.NonNull" ,
86
+ "reactor.util.annotation.NonNull" ));
65
87
66
88
/**
67
89
* A map from elements that have a lombok.Builder.Default annotation to the simple property name
0 commit comments