[JS IR] Fix external vararg if its argument is suspend call

- Fix KT-47811
This commit is contained in:
Roman Artemev
2021-09-24 21:05:51 +07:00
committed by TeamCityServer
parent 6efba76a06
commit 623f273251
@@ -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) {