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 5d578120f3e..6444e7357e9 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 @@ -219,18 +219,20 @@ private class VarargTransformer( } private fun transformFunctionAccessExpression(expression: IrFunctionAccessExpression): IrExpression { + expression.transformChildrenVoid() + if (expression.symbol.owner.isExternal) { for (i in 0 until expression.valueArgumentsCount) { val parameter = expression.symbol.owner.valueParameters[i] val varargElementType = parameter.varargElementType if (varargElementType != null) { - (expression.getValueArgument(i) as IrVararg?)?.let { + (expression.getValueArgument(i) as? IrVararg)?.let { externalVarargs.add(it) } } } } - expression.transformChildrenVoid() + val size = expression.valueArgumentsCount for (i in 0 until size) {