The TypeDescriptor for the varargs component type can currently be null in SpEL's ReflectionHelper.convertAllMethodHandleArguments(...) method; however, that should not be possible.
Whereas, in compareArgumentsVarargs(...) and convertArguments(...) the varargs component type can never be null.
My assumption is that we are using an incorrect combination of Class, ResolvableType, and TypeDescriptor in
convertAllMethodHandleArguments(...).
I discovered this while working on related SpEL issues and added the following TODO which this issue aims to address.
|
// TODO Determine why componentTypeDesc can be null. |
|
// Assert.state(componentTypeDesc != null, "Component type must not be null for a varargs array"); |
The
TypeDescriptorfor the varargs component type can currently benullin SpEL'sReflectionHelper.convertAllMethodHandleArguments(...)method; however, that should not be possible.Whereas, in
compareArgumentsVarargs(...)andconvertArguments(...)the varargs component type can never benull.My assumption is that we are using an incorrect combination of
Class,ResolvableType, andTypeDescriptorinconvertAllMethodHandleArguments(...).I discovered this while working on related SpEL issues and added the following TODO which this issue aims to address.
spring-framework/spring-expression/src/main/java/org/springframework/expression/spel/support/ReflectionHelper.java
Lines 386 to 387 in 4de2aad