From 9c8b215bbbbea0dc0b86c2c1a19021f723155fc1 Mon Sep 17 00:00:00 2001 From: Iaroslav Postovalov Date: Tue, 22 Aug 2023 17:53:52 +0200 Subject: [PATCH] [JVM IR] Don't track fake override methods in JvmSignatureClashDetector trackFakeOverrideMethod in JvmSignatureClashDetector is modified to ignore fake overrides to prevent duplicate tracking of such methods, improving efficiency --- .../kotlin/backend/jvm/codegen/JvmSignatureClashDetector.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/JvmSignatureClashDetector.kt b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/JvmSignatureClashDetector.kt index ac3595f5b48..27ea0251add 100644 --- a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/JvmSignatureClashDetector.kt +++ b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/JvmSignatureClashDetector.kt @@ -37,7 +37,7 @@ class JvmSignatureClashDetector( fun trackFakeOverrideMethod(irFunction: IrFunction) { if (irFunction.dispatchReceiverParameter != null) { for (overriddenFunction in getOverriddenFunctions(irFunction as IrSimpleFunction)) { - trackMethod(irFunction, mapRawSignature(overriddenFunction)) + if (!overriddenFunction.isFakeOverride) trackMethod(irFunction, mapRawSignature(overriddenFunction)) } } else { trackMethod(irFunction, mapRawSignature(irFunction))