From 58c7aa9937334b7f3a70acca84a9ce59c35ab9d1 Mon Sep 17 00:00:00 2001 From: Andrey Zinovyev Date: Fri, 7 May 2021 17:46:38 +0300 Subject: [PATCH] [FIR] Don't replace custom compareTo with default one in primitives --- .../fir/backend/generators/OperatorExpressionGenerator.kt | 4 ++++ .../box/operatorConventions/compareTo/customCompareTo.kt | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/OperatorExpressionGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/OperatorExpressionGenerator.kt index 150a70daf1a..4c23a2b49fa 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/OperatorExpressionGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/OperatorExpressionGenerator.kt @@ -58,6 +58,10 @@ internal class OperatorExpressionGenerator( ) } + if (comparisonExpression.compareToCall.toResolvedCallableSymbol()?.fir?.receiverTypeRef != null) { + return fallbackToRealCall() + } + val comparisonInfo = comparisonExpression.inferPrimitiveNumericComparisonInfo() ?: return fallbackToRealCall() val comparisonType = comparisonInfo.comparisonType diff --git a/compiler/testData/codegen/box/operatorConventions/compareTo/customCompareTo.kt b/compiler/testData/codegen/box/operatorConventions/compareTo/customCompareTo.kt index 22a5b8733b2..fdd076e508a 100644 --- a/compiler/testData/codegen/box/operatorConventions/compareTo/customCompareTo.kt +++ b/compiler/testData/codegen/box/operatorConventions/compareTo/customCompareTo.kt @@ -1,5 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR - var longCompareToInvocations = 0 var doubleCompareToInvocations = 0