Reverting the revert of purely a style issue; the copyAnnotations method is now ‘nicer’ and no longer requires having to deal with the fact that it can return both ‘null’ AND empty arrays.

Thanks to Maaartin Gracjar for setting this change in motion in commit 842a475916.
This commit is contained in:
Reinier Zwitserloot committed 2015-01-29 21:32:56 +01:00
1 parent 3388f68515
commit a312ae9cdb
5 files changed
+12 -29

No files matched your search

@@ -411,19 +411,17 @@ public class EclipseHandlerUtil {
}
public static Annotation[] copyAnnotations(ASTNode source, Annotation[]... allAnnotations) {
boolean allNull = true;
List<Annotation> result = new ArrayList<Annotation>();
List<Annotation> result = null;
for (Annotation[] annotations : allAnnotations) {
if (annotations != null) {
allNull = false;
for (Annotation annotation : annotations) {
if (result == null) result = new ArrayList<Annotation>();
result.add(copyAnnotation(annotation, source));
}
}
}
if (allNull) return null;
return result.toArray(new Annotation[0]);
return result == null ? null : result.toArray(new Annotation[0]);
}
public static boolean hasAnnotation(Class<? extends java.lang.annotation.Annotation> type, EclipseNode node) {
@@ -333,8 +333,7 @@ public class HandleConstructor {
Statement nullCheck = generateNullCheck(field, sourceNode);
if (nullCheck != null) nullChecks.add(nullCheck);
}
Annotation[] copiedAnnotations = copyAnnotations(source, nonNulls, nullables);
if (copiedAnnotations.length != 0) parameter.annotations = copiedAnnotations;
parameter.annotations = copyAnnotations(source, nonNulls, nullables);
params.add(parameter);
}
@@ -348,10 +347,9 @@ public class HandleConstructor {
constructorProperties = createConstructorProperties(source, fields);
}
Annotation[] copiedAnnotations = copyAnnotations(source,
constructor.annotations = copyAnnotations(source,
onConstructor.toArray(new Annotation[0]),
constructorProperties);
if (copiedAnnotations.length != 0) constructor.annotations = copiedAnnotations;
}
constructor.traverse(new SetGeneratedByVisitor(source), typeDeclaration.scope);
@@ -396,9 +394,7 @@ public class HandleConstructor {
assigns.add(nameRef);
Argument parameter = new Argument(field.name, fieldPos, copyType(field.type, source), Modifier.FINAL);
Annotation[] copiedAnnotations = copyAnnotations(source, findAnnotations(field, NON_NULL_PATTERN), findAnnotations(field, NULLABLE_PATTERN));
if (copiedAnnotations.length != 0) parameter.annotations = copiedAnnotations;
parameter.annotations = copyAnnotations(source, findAnnotations(field, NON_NULL_PATTERN), findAnnotations(field, NULLABLE_PATTERN));
params.add(parameter);
}
@@ -270,14 +270,12 @@ public class HandleGetter extends EclipseAnnotationHandler<Getter> {
deprecated = new Annotation[] { generateDeprecatedAnnotation(source) };
}
Annotation[] copiedAnnotations = copyAnnotations(source,
method.annotations = copyAnnotations(source,
onMethod.toArray(new Annotation[0]),
findAnnotations(field, NON_NULL_PATTERN),
findAnnotations(field, NULLABLE_PATTERN),
findDelegatesAndMarkAsHandled(fieldNode),
deprecated);
if (copiedAnnotations.length != 0) method.annotations = copiedAnnotations;
}
method.traverse(new SetGeneratedByVisitor(source), parent.scope);
@@ -216,10 +216,7 @@ public class HandleSetter extends EclipseAnnotationHandler<Setter> {
if (isFieldDeprecated(fieldNode)) {
deprecated = new Annotation[] { generateDeprecatedAnnotation(source) };
}
Annotation[] copiedAnnotations = copyAnnotations(source, onMethod.toArray(new Annotation[0]), deprecated);
if (copiedAnnotations.length != 0) {
method.annotations = copiedAnnotations;
}
method.annotations = copyAnnotations(source, onMethod.toArray(new Annotation[0]), deprecated);
Argument param = new Argument(field.name, p, copyType(field.type, source), Modifier.FINAL);
param.sourceStart = pS; param.sourceEnd = pE;
method.arguments = new Argument[] { param };
@@ -252,9 +249,7 @@ public class HandleSetter extends EclipseAnnotationHandler<Setter> {
statements.add(returnThis);
}
method.statements = statements.toArray(new Statement[0]);
Annotation[] copiedAnnotationsParam = copyAnnotations(source, nonNulls, nullables, onParam.toArray(new Annotation[0]));
if (copiedAnnotationsParam.length != 0) param.annotations = copiedAnnotationsParam;
param.annotations = copyAnnotations(source, nonNulls, nullables, onParam.toArray(new Annotation[0]));
method.traverse(new SetGeneratedByVisitor(source), parent.scope);
return method;
@@ -227,10 +227,7 @@ public class HandleWither extends EclipseAnnotationHandler<Wither> {
if (isFieldDeprecated(fieldNode)) {
deprecated = new Annotation[] { generateDeprecatedAnnotation(source) };
}
Annotation[] copiedAnnotations = copyAnnotations(source, onMethod.toArray(new Annotation[0]), deprecated);
if (copiedAnnotations.length != 0) {
method.annotations = copiedAnnotations;
}
method.annotations = copyAnnotations(source, onMethod.toArray(new Annotation[0]), deprecated);
Argument param = new Argument(field.name, p, copyType(field.type, source), Modifier.FINAL);
param.sourceStart = pS; param.sourceEnd = pE;
method.arguments = new Argument[] { param };
@@ -283,8 +280,7 @@ public class HandleWither extends EclipseAnnotationHandler<Wither> {
method.statements = statements.toArray(new Statement[0]);
Annotation[] copiedAnnotationsParam = copyAnnotations(source, nonNulls, nullables, onParam.toArray(new Annotation[0]));
if (copiedAnnotationsParam.length != 0) param.annotations = copiedAnnotationsParam;
param.annotations = copyAnnotations(source, nonNulls, nullables, onParam.toArray(new Annotation[0]));
method.traverse(new SetGeneratedByVisitor(source), parent.scope);
return method;