From 4caf42804a9b6391b812bc9d4ed25d34c7d27b54 Mon Sep 17 00:00:00 2001 From: Anastasiya Shadrina Date: Wed, 27 Oct 2021 19:46:43 +0700 Subject: [PATCH] [IR] Revert changes to KFunctionProxy, put TODO Context receivers are not yet available in FIR --- .../ir/interpreter/proxy/reflection/KFunctionProxy.kt | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/proxy/reflection/KFunctionProxy.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/proxy/reflection/KFunctionProxy.kt index e579a1873e1..6b0435ee9d8 100644 --- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/proxy/reflection/KFunctionProxy.kt +++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/proxy/reflection/KFunctionProxy.kt @@ -52,15 +52,12 @@ internal class KFunctionProxy( // TODO check arity var index = 0 val dispatchReceiver = state.irFunction.dispatchReceiverParameter?.let { environment.convertToState(args[index++], it.type) } - val contextReceiverParametersCount = state.irFunction.contextReceiverParametersCount - val contextReceivers = state.irFunction.valueParameters.take(contextReceiverParametersCount).map { - environment.convertToState(args[index++], it.type) - } val extensionReceiver = state.irFunction.extensionReceiverParameter?.let { environment.convertToState(args[index++], it.type) } - val argsVariables = state.irFunction.valueParameters.drop(contextReceiverParametersCount).map { parameter -> + // TODO context receivers + val argsVariables = state.irFunction.valueParameters.map { parameter -> environment.convertToState(args[index++], parameter.type) } - val valueArguments = listOfNotNull(dispatchReceiver) + contextReceivers + listOfNotNull(extensionReceiver) + argsVariables + val valueArguments = listOfNotNull(dispatchReceiver, extensionReceiver) + argsVariables return callInterceptor.interceptProxy(state.irFunction, valueArguments) }