From 05efdfdee6969d50354d2a5563f3ac46a13a28c3 Mon Sep 17 00:00:00 2001 From: LepilkinaElena Date: Wed, 30 Sep 2020 13:36:50 +0300 Subject: [PATCH] Simplify evaluation of explicit arguments (#4410) --- .../kotlin/backend/konan/llvm/IrToBitcode.kt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt index aec2e658db4..b62d5884668 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt @@ -2022,15 +2022,15 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map { - val evaluatedArgs = expression.getArgumentsWithIr().map { (param, argExpr) -> - param to evaluateExpression(argExpr) - }.toMap() - - val allValueParameters = expression.symbol.owner.allParameters - - return allValueParameters.dropWhile { it !in evaluatedArgs }.map { - evaluatedArgs[it]!! + val result = expression.getArgumentsWithIr().map { (_, argExpr) -> + evaluateExpression(argExpr) } + val explicitParametersSize = expression.symbol.owner.explicitParameters.size + if (result.size != explicitParametersSize) { + error("Number of arguments explicitly represented in the IR ${result.size} differs from expected " + + "$explicitParametersSize in ${ir2string(expression)}") + } + return result } //-------------------------------------------------------------------------//