From 130d2d00c3de9eb6738c182f450b23177f02fbf7 Mon Sep 17 00:00:00 2001 From: Svyatoslav Kuzmich Date: Fri, 3 May 2019 17:37:49 +0300 Subject: [PATCH] [JS IR BE] Fix unboxing empty inline class varargs --- .../jetbrains/kotlin/ir/backend/js/lower/VarargLowering.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/VarargLowering.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/VarargLowering.kt index dae61b82471..c62c229001c 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/VarargLowering.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/VarargLowering.kt @@ -112,7 +112,11 @@ private class VarargTransformer( // empty vararg => empty array literal if (segments.isEmpty()) { - return emptyList().toArrayLiteral(primitiveExpressionType, primitiveElementType) + val res = emptyList().toArrayLiteral(primitiveExpressionType, primitiveElementType) + return if (needUnboxing) + res.boxInlineClassIfNeeded(arrayInlineClass!!) + else + res } // vararg with a single segment => no need to concatenate