Avoid storing duplicate empty array in MethodParameter field

Avoid storing duplicate empty arrays in the parameterAnnotations field of MethodParameter.

Closes gh-33496
This commit is contained in:
Patrick Strawderman
2024-09-05 23:40:32 -07:00
committed by Sébastien Deleuze
parent e9b0a19d3f
commit 2b6639e587

View File

@@ -647,7 +647,7 @@ public class MethodParameter {
// for inner classes, so access it with the actual parameter index lowered by 1 // for inner classes, so access it with the actual parameter index lowered by 1
index = this.parameterIndex - 1; index = this.parameterIndex - 1;
} }
paramAnns = (index >= 0 && index < annotationArray.length ? paramAnns = (index >= 0 && index < annotationArray.length && annotationArray[index].length > 0 ?
adaptAnnotationArray(annotationArray[index]) : EMPTY_ANNOTATION_ARRAY); adaptAnnotationArray(annotationArray[index]) : EMPTY_ANNOTATION_ARRAY);
this.parameterAnnotations = paramAnns; this.parameterAnnotations = paramAnns;
} }
@@ -916,7 +916,7 @@ public class MethodParameter {
merged.add(fieldAnn); merged.add(fieldAnn);
} }
} }
anns = merged.toArray(new Annotation[0]); anns = merged.toArray(EMPTY_ANNOTATION_ARRAY);
} }
} }
catch (NoSuchFieldException | SecurityException ex) { catch (NoSuchFieldException | SecurityException ex) {