From f597585ffb06a7d3891c6d42159e967c608d3d90 Mon Sep 17 00:00:00 2001 From: Roman Artemev Date: Mon, 5 Oct 2020 22:09:38 +0300 Subject: [PATCH] [IR BE] Refactor DefaultArgumentStubGenerator a bit --- .../backend/common/lower/DefaultArgumentStubGenerator.kt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt index 3a62e99a198..e0b04af96ee 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt @@ -109,13 +109,13 @@ open class DefaultArgumentStubGenerator( ++sourceParameterIndex } val parameter = newIrFunction.valueParameters[valueParameter.index] - val remapped = if (valueParameter.defaultValue != null) { + val remapped = valueParameter.defaultValue?.let { defaultValue -> val mask = irGet(newIrFunction.valueParameters[irFunction.valueParameters.size + valueParameter.index / 32]) val bit = irInt(1 shl (sourceParameterIndex % 32)) val defaultFlag = irCallOp(intAnd, context.irBuiltIns.intType, mask, bit) - val expression = valueParameter.defaultValue!!.expression + val expression = defaultValue.expression .prepareToBeUsedIn(newIrFunction) .transform(object : IrElementTransformerVoid() { override fun visitGetValue(expression: IrGetValue): IrExpression { @@ -126,9 +126,8 @@ open class DefaultArgumentStubGenerator( }, null) selectArgumentOrDefault(defaultFlag, parameter, expression) - } else { - parameter - } + } ?: parameter + params.add(remapped) variables[valueParameter] = remapped }