Avoid bridge resolution for method from unrelated class hierarchy

Closes gh-32087
This commit is contained in:
Juergen Hoeller
2024-01-23 10:50:53 +01:00
parent 3b2f6e74a6
commit 5656eaccb7
2 changed files with 19 additions and 0 deletions

View File

@@ -86,6 +86,10 @@ public final class BridgeMethodResolver {
* @see org.springframework.util.ClassUtils#getMostSpecificMethod
*/
public static Method getMostSpecificMethod(Method bridgeMethod, @Nullable Class<?> targetClass) {
if (targetClass != null && !bridgeMethod.getDeclaringClass().isAssignableFrom(targetClass)) {
return bridgeMethod;
}
Method specificMethod = ClassUtils.getMostSpecificMethod(bridgeMethod, targetClass);
return resolveBridgeMethod(specificMethod,
(targetClass != null ? targetClass : specificMethod.getDeclaringClass()));