mirror of
https://github.com/spring-projects/spring-framework
synced 2026-06-08 17:33:33 +00:00
828f74f71a
Prior to this commit, the findMergedRepeatableAnnotations() methods in AnnotatedElementUtils failed to find repeatable annotations declared on other repeatable annotations (i.e., when one repeatable annotation type was used as a meta-annotation on a different repeatable annotation type). The reason is that findMergedRepeatableAnnotations(element, annotationType, containerType) always used RepeatableContainers.of(annotationType, containerType) to create a RepeatableContainers instance, even if the supplied containerType was null. Doing so restricts the search to supporting only repeatable annotations whose container is the supplied containerType and prevents the search from finding repeatable annotations declared as meta-annotations on other types of repeatable annotations. Note, however, that direct use of the MergedAnnotations API already supported finding nested repeatable annotations when using RepeatableContainers.standardRepeatables() or RepeatableContainers.of(...).and(...).and(...). The latter composes support for multiple repeatable annotation types and their containers. This commit addresses the issue for findMergedRepeatableAnnotations() when the containerType is null or not provided. However, findMergedRepeatableAnnotations(element, annotationType, containerType) still suffers from the aforementioned limitation, and the Javadoc has been updated to make that clear. Closes gh-20279