From 7bbb5b77db8a5625c365bb10e98eede7b74cff1f Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Tue, 2 Mar 2021 16:45:19 +0300 Subject: [PATCH] [JS IR] Concat varargs with non varargs on compile time for function w/o receiver --- .../backend/js/transformers/irToJs/jsAstUtils.kt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/jsAstUtils.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/jsAstUtils.kt index f421d6d4cdf..e09df42ac49 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/jsAstUtils.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/jsAstUtils.kt @@ -205,10 +205,17 @@ fun translateCall( } } } else { - JsInvocation( - JsNameRef("apply", JsNameRef(symbolName)), - listOf(JsNullLiteral(), argumentsAsSingleArray) - ) + if (argumentsAsSingleArray is JsArrayLiteral) { + JsInvocation( + JsNameRef(symbolName), + argumentsAsSingleArray.expressions + ) + } else { + JsInvocation( + JsNameRef("apply", JsNameRef(symbolName)), + listOf(JsNullLiteral(), argumentsAsSingleArray) + ) + } } } else { JsInvocation(ref, listOfNotNull(jsExtensionReceiver) + arguments)