From 437a68dacae21351e0b77a96cdd838bc1205c466 Mon Sep 17 00:00:00 2001 From: Svyatoslav Kuzmich Date: Thu, 23 Aug 2018 19:55:17 +0300 Subject: [PATCH] [JS IR BE] Check number of value arguments in toString --- .../kotlin/ir/backend/js/lower/IntrinsicifyCallsLowering.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/IntrinsicifyCallsLowering.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/IntrinsicifyCallsLowering.kt index c44f000d856..5c11ce62530 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/IntrinsicifyCallsLowering.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/IntrinsicifyCallsLowering.kt @@ -509,6 +509,9 @@ fun shouldReplaceToStringWithRuntimeCall(call: IrCall): Boolean { // - Use direct method call for dynamic types??? // - Define Any?.toString() in runtime library and stop intrincifying extensions + if (call.valueArgumentsCount > 0) + return false + val receiverParameterType = with(call.symbol.owner) { dispatchReceiverParameter ?: extensionReceiverParameter }?.type ?: return false