diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/calls/NumberOperatorCallsTransformer.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/calls/NumberOperatorCallsTransformer.kt index 03149f63a13..f802d174f72 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/calls/NumberOperatorCallsTransformer.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/calls/NumberOperatorCallsTransformer.kt @@ -17,6 +17,8 @@ import org.jetbrains.kotlin.ir.types.* import org.jetbrains.kotlin.ir.util.irCall import org.jetbrains.kotlin.name.Name +private val HASH_CODE_NAME = Name.identifier("hashCode") + class NumberOperatorCallsTransformer(context: JsIrBackendContext) : CallsTransformer { private val intrinsics = context.intrinsics private val irBuiltIns = context.irBuiltIns @@ -52,11 +54,13 @@ class NumberOperatorCallsTransformer(context: JsIrBackendContext) : CallsTransfo add(it, OperatorNames.XOR) { call -> toBoolean(irCall(call, intrinsics.jsBitXor, receiversAsArguments = true)) } add(it, OperatorNames.NOT, intrinsics.jsNot) + + add(it, HASH_CODE_NAME) { call -> toInt32(call.dispatchReceiver!!) } } for (type in primitiveNumbers) { add(type, Name.identifier("rangeTo"), ::transformRangeTo) - add(type, Name.identifier("hashCode"), ::transformHashCode) + add(type, HASH_CODE_NAME, ::transformHashCode) } for (type in primitiveNumbers) {