diff --git a/spring-core/src/main/java/org/springframework/core/CoroutinesUtils.java b/spring-core/src/main/java/org/springframework/core/CoroutinesUtils.java index 8c78ceac9be..c97ef5001a3 100644 --- a/spring-core/src/main/java/org/springframework/core/CoroutinesUtils.java +++ b/spring-core/src/main/java/org/springframework/core/CoroutinesUtils.java @@ -117,11 +117,8 @@ public abstract class CoroutinesUtils { int index = 0; for (KParameter parameter : function.getParameters()) { switch (parameter.getKind()) { - case INSTANCE: - argMap.put(parameter, target); - break; - case VALUE: - case EXTENSION_RECEIVER: + case INSTANCE -> argMap.put(parameter, target); + case VALUE, EXTENSION_RECEIVER -> { if (!parameter.isOptional() || args[index] != null) { if (parameter.getType().getClassifier() instanceof KClass kClass && kClass.isValue()) { Class javaClass = JvmClassMappingKt.getJavaClass(kClass); @@ -134,8 +131,7 @@ public abstract class CoroutinesUtils { } } index++; - break; - + } } } return KCallables.callSuspendBy(function, argMap, continuation); diff --git a/spring-web/src/main/java/org/springframework/web/method/support/InvocableHandlerMethod.java b/spring-web/src/main/java/org/springframework/web/method/support/InvocableHandlerMethod.java index 303373de389..1ed1a131bf3 100644 --- a/spring-web/src/main/java/org/springframework/web/method/support/InvocableHandlerMethod.java +++ b/spring-web/src/main/java/org/springframework/web/method/support/InvocableHandlerMethod.java @@ -318,11 +318,8 @@ public class InvocableHandlerMethod extends HandlerMethod { int index = 0; for (KParameter parameter : function.getParameters()) { switch (parameter.getKind()) { - case INSTANCE: - argMap.put(parameter, target); - break; - case VALUE: - case EXTENSION_RECEIVER: + case INSTANCE -> argMap.put(parameter, target); + case VALUE, EXTENSION_RECEIVER -> { if (!parameter.isOptional() || args[index] != null) { if (parameter.getType().getClassifier() instanceof KClass kClass && kClass.isValue()) { Class javaClass = JvmClassMappingKt.getJavaClass(kClass); @@ -335,8 +332,7 @@ public class InvocableHandlerMethod extends HandlerMethod { } } index++; - break; - + } } } Object result = function.callBy(argMap); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java index 0d4c2f47dd7..5df721559f1 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java @@ -329,11 +329,8 @@ public class InvocableHandlerMethod extends HandlerMethod { int index = 0; for (KParameter parameter : function.getParameters()) { switch (parameter.getKind()) { - case INSTANCE: - argMap.put(parameter, target); - break; - case VALUE: - case EXTENSION_RECEIVER: + case INSTANCE -> argMap.put(parameter, target); + case VALUE, EXTENSION_RECEIVER -> { if (!parameter.isOptional() || args[index] != null) { if (parameter.getType().getClassifier() instanceof KClass kClass && kClass.isValue()) { Class javaClass = JvmClassMappingKt.getJavaClass(kClass); @@ -346,7 +343,7 @@ public class InvocableHandlerMethod extends HandlerMethod { } } index++; - break; + } } } Object result = function.callBy(argMap);