Browse Source

Avoid storing duplicate empty array in MethodParameter field

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

Closes gh-33496
pull/33498/head
Patrick Strawderman 1 year ago committed by Sébastien Deleuze
parent
commit
2b6639e587
  1. 4
      spring-core/src/main/java/org/springframework/core/MethodParameter.java

4
spring-core/src/main/java/org/springframework/core/MethodParameter.java

@ -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) {

Loading…
Cancel
Save