diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/Utils.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/Utils.kt index c3dd02ac969..ccc164dbed6 100644 --- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/Utils.kt +++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/Utils.kt @@ -39,8 +39,6 @@ internal fun IrFunctionAccessExpression.getBody(): IrBody? = this.symbol.owner.b internal fun IrFunctionAccessExpression.getThisReceiver(): IrValueSymbol = this.symbol.owner.parentAsClass.thisReceiver!!.symbol -internal fun IrCall.isInvokeFun(): Boolean = this.origin == IrStatementOrigin.INVOKE || this.symbol.owner.name.asString() == "invoke" - internal fun State.toIrExpression(expression: IrExpression): IrExpression { val start = expression.startOffset val end = expression.endOffset diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/state/reflection/KFunctionState.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/state/reflection/KFunctionState.kt index 3dd7ef51e9b..5b62d11e2be 100644 --- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/state/reflection/KFunctionState.kt +++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/state/reflection/KFunctionState.kt @@ -63,17 +63,12 @@ internal class KFunctionState(val irFunction: IrFunction, override val irClass: return _typeParameters!! } - private val invokeSymbol = irClass.declarations - .single { it.nameForIrSerialization.asString() == "invoke" } - .cast() - .getLastOverridden().symbol - fun getArity(): Int? { return irClass.name.asString().removePrefix("Function").removePrefix("KFunction").toIntOrNull() } override fun getIrFunctionByIrCall(expression: IrCall): IrFunction? { - return if (invokeSymbol == expression.symbol) irFunction else null + return if (expression.symbol.owner.name.asString() == "invoke") irFunction else null } private fun isLambda(): Boolean = irFunction.name.let { it == Name.special("") || it == Name.special("") }