From 841b8245445744b1acfe9b0c9dbe6533c4e006d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20S=C3=B6derberg?= Date: Thu, 18 Jan 2024 09:26:38 +0100 Subject: [PATCH] fix(kotlin): don't pass unrequested parameters to suggestion methods This is a temporary fix and the implementation should extend the annotated method system. --- .../kotlin/coroutines/annotations/KotlinAnnotatedMethods.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cloud-kotlin/cloud-kotlin-coroutines-annotations/src/main/kotlin/cloud/commandframework/kotlin/coroutines/annotations/KotlinAnnotatedMethods.kt b/cloud-kotlin/cloud-kotlin-coroutines-annotations/src/main/kotlin/cloud/commandframework/kotlin/coroutines/annotations/KotlinAnnotatedMethods.kt index 28af0dd93..7b98de75c 100644 --- a/cloud-kotlin/cloud-kotlin-coroutines-annotations/src/main/kotlin/cloud/commandframework/kotlin/coroutines/annotations/KotlinAnnotatedMethods.kt +++ b/cloud-kotlin/cloud-kotlin-coroutines-annotations/src/main/kotlin/cloud/commandframework/kotlin/coroutines/annotations/KotlinAnnotatedMethods.kt @@ -185,7 +185,9 @@ private class KotlinSuggestionProvider( override fun suggestionsFuture(context: CommandContext, input: CommandInput): CompletableFuture> { return coroutineScope.future(coroutineContext) { try { - if (kFunction.valueParameters[1].type.classifier == String::class) { + if (kFunction.valueParameters.isEmpty()) { + kFunction.callSuspend(instance) + } else if (kFunction.valueParameters[1].type.classifier == String::class) { kFunction.callSuspend(instance, context, input.lastRemainingToken()) } else { kFunction.callSuspend(instance, context, input)