Browse Source

Avoid ResolvableType creation for interface/superclass check

See gh-30713
pull/30724/head
Juergen Hoeller 3 years ago
parent
commit
1dfe737d0e
  1. 7
      spring-core/src/main/java/org/springframework/core/ResolvableType.java

7
spring-core/src/main/java/org/springframework/core/ResolvableType.java

@ -567,7 +567,7 @@ public class ResolvableType implements Serializable { @@ -567,7 +567,7 @@ public class ResolvableType implements Serializable {
try {
for (Type genericInterface : resolved.getGenericInterfaces()) {
if (genericInterface instanceof Class<?> clazz) {
if (forClass(clazz).hasGenerics()) {
if (clazz.getTypeParameters().length > 0) {
return true;
}
}
@ -576,7 +576,10 @@ public class ResolvableType implements Serializable { @@ -576,7 +576,10 @@ public class ResolvableType implements Serializable {
catch (TypeNotPresentException ex) {
// Ignore non-present types in generic signature
}
return getSuperType().hasUnresolvableGenerics();
Class<?> superclass = resolved.getSuperclass();
if (superclass != null && superclass != Object.class) {
return getSuperType().hasUnresolvableGenerics();
}
}
return false;
}

Loading…
Cancel
Save