Recognize Kotlin coroutines in isAsyncVoidReturnType
This commit makes sure that Kotlin coroutines are correctly identified by InvocableHandlerMethod::isAsyncVoidReturnType. Closes gh-26829
This commit is contained in:
@@ -205,15 +205,17 @@ public class InvocableHandlerMethod extends HandlerMethod {
|
||||
if (reactiveAdapter.isNoValue()) {
|
||||
return true;
|
||||
}
|
||||
Type parameterType = returnType.getGenericParameterType();
|
||||
if (parameterType instanceof ParameterizedType) {
|
||||
ParameterizedType type = (ParameterizedType) parameterType;
|
||||
if (type.getActualTypeArguments().length == 1) {
|
||||
return Void.class.equals(type.getActualTypeArguments()[0]);
|
||||
}
|
||||
}
|
||||
Type parameterType = returnType.getGenericParameterType();
|
||||
if (parameterType instanceof ParameterizedType) {
|
||||
ParameterizedType type = (ParameterizedType) parameterType;
|
||||
if (type.getActualTypeArguments().length == 1) {
|
||||
return Void.class.equals(type.getActualTypeArguments()[0]);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
Method method = returnType.getMethod();
|
||||
return method != null && KotlinDetector.isSuspendingFunction(method) &&
|
||||
Void.TYPE.equals(returnType.getParameterType());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user