The logic in {{ReflectionHelper#typeOf(Executable, int)}} is incorrect.
Take this example: method(implicit parameter 1, parameter 2, parameter 3)
When trying to get the generic type of parameter 2 with index 1, it will in fact return the type of parameter 3 as {{parameterIndex >= genericParameterTypes.length}} is false and genericParameterTypes only contains {{[parameter 2, parameter 3]}} as implicit parameters are ignored by {{getGenericParameterTypes()}}.
All in all, the algorithm of {{ReflectionHelper#typeOf(Executable, int)}} always returned a result but it could be an incorrect type.
This method is not used anymore so let's get rid of it. And let's implement But the correct algorithm logic was copied in {{JavaBeanExecutable}} and it requires fixing there. |
|