From 5d60c52e30299301dd87c20b0c34c304cf4ee18c Mon Sep 17 00:00:00 2001 From: Vladimir Sukharev Date: Fri, 19 Jan 2024 13:23:28 +0100 Subject: [PATCH] [K/N] Remove platform-dependent check from IrObjCOverridabilityCondition ^KT-57640 Fixed --- .../ir/objcinterop/IrObjCOverridablilityCondidtion.kt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/compiler/ir/ir.objcinterop/src/org/jetbrains/kotlin/ir/objcinterop/IrObjCOverridablilityCondidtion.kt b/compiler/ir/ir.objcinterop/src/org/jetbrains/kotlin/ir/objcinterop/IrObjCOverridablilityCondidtion.kt index d34c3c5d8ee..e6bdcfd905d 100644 --- a/compiler/ir/ir.objcinterop/src/org/jetbrains/kotlin/ir/objcinterop/IrObjCOverridablilityCondidtion.kt +++ b/compiler/ir/ir.objcinterop/src/org/jetbrains/kotlin/ir/objcinterop/IrObjCOverridablilityCondidtion.kt @@ -36,6 +36,7 @@ object IrObjCOverridabilityCondition : IrExternalOverridabilityCondition { subMember: IrOverridableMember, ): IrExternalOverridabilityCondition.Result { if (superMember.name == subMember.name) { // Slow path: + // KT-57640: There's no necessity to implement platform-dependent overridability check for properties if (superMember is IrFunction && subMember is IrFunction) { superMember.getExternalObjCMethodInfo()?.let { superInfo -> val subInfo = subMember.getExternalObjCMethodInfo() @@ -54,17 +55,12 @@ object IrObjCOverridabilityCondition : IrExternalOverridabilityCondition { } } } - } else if (superMember.isExternalObjCClassProperty() && subMember.isExternalObjCClassProperty()) { - return IrExternalOverridabilityCondition.Result.OVERRIDABLE } } return IrExternalOverridabilityCondition.Result.UNKNOWN } - private fun IrOverridableMember.isExternalObjCClassProperty() = this is IrProperty && - (this.parent as? IrClass)?.isExternalObjCClass() == true - private fun parameterNamesMatch(first: IrFunction, second: IrFunction): Boolean { // The original Objective-C method selector is represented as // function name and parameter names (except first).