Build #1,631

Build: #1631 was successful Changes by 7 people

Build result summary


9 minutes
Spring Framework
cdf51c3d511e176965cb5a5af668329f6927dc40 cdf51c3d511e176965cb5a5af668329f6927dc40
Plan Repository
cdf51c3d511e176965cb5a5af668329f6927dc40 cdf51c3d511e176965cb5a5af668329f6927dc40
Total tests


Code commits

Spring Framework
Author Commit Message Commit date
Juergen Hoeller Juergen Hoeller cdf51c3d511e176965cb5a5af668329f6927dc40 cdf51c3d511e176965cb5a5af668329f6927dc40 Nullability refinements and related polishing
Juergen Hoeller Juergen Hoeller c5b3848357320d67685744e6ebc32416b0119f66 c5b3848357320d67685744e6ebc32416b0119f66 Nullability refinements and related polishing
Includes fix for typo in visitor class names.

See gh-22909
Phil Webb Phil Webb f592c1f211075d8d0373241dea2766950bca4b07 f592c1f211075d8d0373241dea2766950bca4b07 Add additional class/method meta-data tests
Add some additional tests to provide more coverage of class and method
meta-data support.

See gh-22884
Phil Webb Phil Webb 7fbf3f97cdeffd7e60a7dc9b19ca59ce73cd1cea 7fbf3f97cdeffd7e60a7dc9b19ca59ce73cd1cea Add SimpleAnnotationMeta classes and readers
Replace the existing ASM based readers with new implementations that
also support MergedAnnotations. The meta-data classes themselves are
now immutable, and constructed via separate reader classes.

The `SimpleMetadataReader` class has been updated to return the new
classes, however the old ones remain since some of them are public
and might be being used directly.

Closes gh-22884
Phil Webb Phil Webb daec3531b3a386074484c3a1ccf82c79b769e96f daec3531b3a386074484c3a1ccf82c79b769e96f Support String->Class adaptation in MergedAnnotation
Update TypeMappedAnnotation so that Strings can be used to represent
Class attribute values. This will allow ASM annotation readers to
present a `MergedAnnotation` instance without necessarily having the
actual class values on the classpath.

When the underlying value is a String, any calls to
`getValue(name, String.class)` or `asMap(Adapt.CLASS_TO_STRING)` will
simply return the original String. Calls that need the actual Class
result (such as `getClass`) will use `Class.forName` and may throw
a `ClassNotFoundException` at that point.

This commit also allows an empty Object[] to be used to represent
any empty primitive array.

See gh-22884