diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/intrinsics/Equals.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/intrinsics/Equals.kt index 7b169a58f92..a49ab7a127e 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/intrinsics/Equals.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/intrinsics/Equals.kt @@ -29,8 +29,11 @@ import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter class Equals(val operator: IElementType) : IntrinsicMethod() { override fun toCallable(expression: IrMemberAccessExpression, signature: JvmMethodSignature, context: JvmBackendContext): IrIntrinsicFunction { - var leftType = context.state.typeMapper.mapType(expression.getValueArgument(0)!!.type) - var rightType = context.state.typeMapper.mapType(expression.getValueArgument(1)!!.type) + val receiverAndArgs = expression.receiverAndArgs().apply { + assert(size == 2) { "Equals expects 2 arguments, but ${joinToString()}" } + } + var leftType = context.state.typeMapper.mapType(receiverAndArgs.first().type) + var rightType = context.state.typeMapper.mapType(receiverAndArgs.last().type) if (isPrimitive(leftType) != isPrimitive(rightType)) { leftType = boxType(leftType)