fix: resolve function type from non-parameterized Kotlin class that implements a function type

Resolves #925
Resolves #940
Resolves #956
Resolves #964

Resolves #982
This commit is contained in:
Lars Bilger
2023-01-06 13:00:15 +01:00
committed by Oleg Zhurakousky
parent 8a5eafa58f
commit 2be70c5829

View File

@@ -75,16 +75,14 @@ public abstract class FunctionContextUtils {
param = registry.getType(actualName);
}
if (param != null) {
return param;
if (param == null) {
param = definition.getResolvableType().getType();
}
else {
Type t = definition.getResolvableType().getType();
if (!(t instanceof ParameterizedType) && beanClass != null) {
return FunctionTypeUtils.discoverFunctionTypeFromClass(definition.getBeanClass());
}
return t;
if (!(param instanceof ParameterizedType) && beanClass != null) {
return FunctionTypeUtils.discoverFunctionTypeFromClass(beanClass);
}
return param;
}
public static Class<?>[] getParamTypesFromBeanDefinitionFactory(Class<?> factory,