Browse Source

Merge branch '6.0.x'

pull/30772/head
Juergen Hoeller 3 years ago
parent
commit
2eb8efe83b
  1. 14
      spring-core/src/main/java/org/springframework/core/SerializableTypeWrapper.java

14
spring-core/src/main/java/org/springframework/core/SerializableTypeWrapper.java

@ -22,7 +22,6 @@ import java.io.Serializable;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.GenericArrayType; import java.lang.reflect.GenericArrayType;
import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType; import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Proxy; import java.lang.reflect.Proxy;
@ -204,19 +203,18 @@ final class SerializableTypeWrapper {
return forTypeProvider(new MethodInvokeTypeProvider(this.provider, method, -1)); return forTypeProvider(new MethodInvokeTypeProvider(this.provider, method, -1));
} }
else if (Type[].class == method.getReturnType() && ObjectUtils.isEmpty(args)) { else if (Type[].class == method.getReturnType() && ObjectUtils.isEmpty(args)) {
Type[] result = new Type[((Type[]) method.invoke(this.provider.getType())).length]; Object returnValue = ReflectionUtils.invokeMethod(method, this.provider.getType());
if (returnValue == null) {
return null;
}
Type[] result = new Type[((Type[]) returnValue).length];
for (int i = 0; i < result.length; i++) { for (int i = 0; i < result.length; i++) {
result[i] = forTypeProvider(new MethodInvokeTypeProvider(this.provider, method, i)); result[i] = forTypeProvider(new MethodInvokeTypeProvider(this.provider, method, i));
} }
return result; return result;
} }
try { return ReflectionUtils.invokeMethod(method, this.provider.getType(), args);
return method.invoke(this.provider.getType(), args);
}
catch (InvocationTargetException ex) {
throw ex.getTargetException();
}
} }
} }

Loading…
Cancel
Save