aboutsummaryrefslogtreecommitdiff
path: root/src/lombok/eclipse/handlers/HandleData.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/lombok/eclipse/handlers/HandleData.java')
-rw-r--r--src/lombok/eclipse/handlers/HandleData.java19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/lombok/eclipse/handlers/HandleData.java b/src/lombok/eclipse/handlers/HandleData.java
index 0296d5e4..38e3135d 100644
--- a/src/lombok/eclipse/handlers/HandleData.java
+++ b/src/lombok/eclipse/handlers/HandleData.java
@@ -89,7 +89,7 @@ public class HandleData implements EclipseAnnotationHandler<Data> {
//Skip static fields.
if ( (fieldDecl.modifiers & ClassFileConstants.AccStatic) != 0 ) continue;
boolean isFinal = (fieldDecl.modifiers & ClassFileConstants.AccFinal) != 0;
- boolean isNonNull = findNonNullAnnotations(fieldDecl).length != 0;
+ boolean isNonNull = findAnnotations(fieldDecl, NON_NULL_PATTERN).length != 0;
if ( (isFinal || isNonNull) && fieldDecl.initialization == null ) nodesForConstructor.add(child);
new HandleGetter().generateGetterForField(child, annotationNode.get());
if ( !isFinal ) new HandleSetter().generateSetterForField(child, annotationNode.get());
@@ -151,11 +151,11 @@ public class HandleData implements EclipseAnnotationHandler<Data> {
assigns.add(new Assignment(thisX, new SingleNameReference(field.name, p), (int)p));
long fieldPos = (((long)field.sourceStart) << 32) | field.sourceEnd;
Argument argument = new Argument(field.name, fieldPos, copyType(field.type), 0);
- Annotation[] nonNulls = findNonNullAnnotations(field);
- if (nonNulls.length != 0) {
- nullChecks.add(generateNullCheck(field));
- argument.annotations = copyAnnotations(nonNulls);
- }
+ Annotation[] nonNulls = findAnnotations(field, NON_NULL_PATTERN);
+ Annotation[] nullables = findAnnotations(field, NULLABLE_PATTERN);
+ if (nonNulls.length != 0) nullChecks.add(generateNullCheck(field));
+ Annotation[] copiedAnnotations = copyAnnotations(nonNulls, nullables);
+ if (copiedAnnotations.length != 0) argument.annotations = copiedAnnotations;
args.add(argument);
}
@@ -200,10 +200,9 @@ public class HandleData implements EclipseAnnotationHandler<Data> {
assigns.add(new SingleNameReference(field.name, fieldPos));
Argument argument = new Argument(field.name, fieldPos, copyType(field.type), 0);
- Annotation[] nonNulls = findNonNullAnnotations(field);
- if (nonNulls.length != 0) {
- argument.annotations = copyAnnotations(nonNulls);
- }
+ Annotation[] copiedAnnotations = copyAnnotations(
+ findAnnotations(field, NON_NULL_PATTERN), findAnnotations(field, NULLABLE_PATTERN));
+ if (copiedAnnotations.length != 0) argument.annotations = copiedAnnotations;
args.add(new Argument(field.name, fieldPos, copyType(field.type), 0));
}