diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt index 6c8dde1c636..9cfbadb09b9 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt @@ -202,8 +202,9 @@ val IrDeclarationContainer.properties: Sequence fun IrFunction.addExplicitParametersTo(parametersList: MutableList) { parametersList.addIfNotNull(dispatchReceiverParameter) + parametersList.addAll(valueParameters.take(contextReceiverParametersCount)) parametersList.addIfNotNull(extensionReceiverParameter) - parametersList.addAll(valueParameters) + parametersList.addAll(valueParameters.drop(contextReceiverParametersCount)) } private fun Boolean.toInt(): Int = if (this) 1 else 0 diff --git a/compiler/testData/codegen/box/extensionFunctions/contextReceivers/fromKEEP/functionalType.kt b/compiler/testData/codegen/box/extensionFunctions/contextReceivers/fromKEEP/functionalType.kt index d4073a05f08..b869312df46 100644 --- a/compiler/testData/codegen/box/extensionFunctions/contextReceivers/fromKEEP/functionalType.kt +++ b/compiler/testData/codegen/box/extensionFunctions/contextReceivers/fromKEEP/functionalType.kt @@ -4,10 +4,10 @@ class Param class O { - val o = "o" + val o = "O" } class K { - val k = "k" + val k = "K" } context(O)