GH-1251 Additional regression fixes with type discovery
Tthis change specifically addresses the use of generics
This commit is contained in:
@@ -379,18 +379,25 @@ public final class FunctionTypeUtils {
|
|||||||
|
|
||||||
ResolvableType resolvableFunctionType = ResolvableType.forType(functionType);
|
ResolvableType resolvableFunctionType = ResolvableType.forType(functionType);
|
||||||
|
|
||||||
ResolvableType resolvableInputType;
|
ResolvableType resolvableInputType = resolvableFunctionType.as(resolvableFunctionType.getRawClass());
|
||||||
if (FunctionTypeUtils.isFunction(functionType)) {
|
|
||||||
resolvableInputType = resolvableFunctionType.as(Function.class);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
resolvableInputType = resolvableFunctionType.as(Consumer.class);
|
|
||||||
}
|
|
||||||
if (resolvableInputType.getType() instanceof ParameterizedType) {
|
if (resolvableInputType.getType() instanceof ParameterizedType) {
|
||||||
return resolvableInputType.getGeneric(0).getType();
|
return resolvableInputType.getGeneric(0).getType();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return Object.class;
|
// will try another way. See GH-1251
|
||||||
|
if (FunctionTypeUtils.isFunction(functionType)) {
|
||||||
|
resolvableInputType = resolvableFunctionType.as(Function.class);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
resolvableInputType = resolvableFunctionType.as(Consumer.class);
|
||||||
|
}
|
||||||
|
if (resolvableInputType.getType() instanceof ParameterizedType) {
|
||||||
|
return resolvableInputType.getGeneric(0).getType();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return Object.class;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user