From 0021b0e9272fdfc6394de9540b70d692f7d24c1c Mon Sep 17 00:00:00 2001 From: Him188 <Him188@mamoe.net> Date: Mon, 16 Nov 2020 15:38:42 +0800 Subject: [PATCH] Fix argument lazy --- .../mirai-console/src/command/resolve/ResolvedCommandCall.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/backend/mirai-console/src/command/resolve/ResolvedCommandCall.kt b/backend/mirai-console/src/command/resolve/ResolvedCommandCall.kt index 8b24788cc..56008f5b5 100644 --- a/backend/mirai-console/src/command/resolve/ResolvedCommandCall.kt +++ b/backend/mirai-console/src/command/resolve/ResolvedCommandCall.kt @@ -20,7 +20,6 @@ import net.mamoe.mirai.console.command.parse.mapToTypeOrNull import net.mamoe.mirai.console.internal.data.classifierAsKClass import net.mamoe.mirai.console.util.ConsoleExperimentalApi import net.mamoe.mirai.console.util.cast -import kotlin.LazyThreadSafetyMode.PUBLICATION /** * The resolved [CommandCall]. @@ -77,7 +76,7 @@ public class ResolvedCommandCallImpl( override val rawValueArguments: List<CommandValueArgument>, private val context: CommandArgumentContext, ) : ResolvedCommandCall { - override val resolvedValueArguments: List<ResolvedCommandValueArgument<*>> by lazy(PUBLICATION) { + override val resolvedValueArguments: List<ResolvedCommandValueArgument<*>> by lazy { calleeSignature.valueParameters.zip(rawValueArguments).map { (parameter, argument) -> val value = argument.mapToTypeOrNull(parameter.type) ?: context[parameter.type.classifierAsKClass()]?.parse(argument.value, caller) ?: throw NoValueArgumentMappingException(argument, parameter.type)