Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
1.16.0
-
None
-
None
Description
We have an user defined function like below:
public class Identity<I> implements Function<I, I> { @Override public I apply(I i) { return i; } }
We have a projection that applies the function twice and then the generated statement contains the type parameter instead of a valid Java type.
final I v = new Identity().apply(current[0] == null ? (String) null : current[0].toString());
After tracing through the code for a while it looks like the MethodCallExpression uses Method.getGenericReturnType.
I guess this should be changed to Method.getReturnType instead.