AnnotationBeanNameGenerator
was written before the introduction of the MergedAnnotations
API and therefore heavily relies on the AnnotationMetadata
abstraction and various helper methods for ASM compatibility.
However, recent work on determineBeanNameFromAnnotation(AnnotatedBeanDefinition)
has made it apparent that we should use the MergedAnnotations
API directly in AnnotationBeanNameGenerator
where possible in order to avoid unnecessary, repeated iterations/streams over the same annotation metadata.