From 044acbb5efbecdc442020243de285c46cb66b01e Mon Sep 17 00:00:00 2001 From: Georgy Bronnikov Date: Tue, 16 Nov 2021 21:22:00 +0300 Subject: [PATCH] JVM_IR: do not use return type in Java property mangles Another case of discrepancy between IR-based mangles and descriptor-based mangles. --- .../kotlin/ir/backend/jvm/serialization/JvmMangler.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/ir/backend/jvm/serialization/JvmMangler.kt b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/ir/backend/jvm/serialization/JvmMangler.kt index df6d04665b3..e7a38cf87d8 100644 --- a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/ir/backend/jvm/serialization/JvmMangler.kt +++ b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/ir/backend/jvm/serialization/JvmMangler.kt @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.descriptors.PropertyDescriptor import org.jetbrains.kotlin.idea.MainFunctionDetector import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrFunction +import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.util.hasAnnotation import org.jetbrains.kotlin.ir.util.isFromJava @@ -42,7 +43,7 @@ object JvmIrMangler : IrBasedKotlinManglerImpl() { JvmIrManglerComputer(builder, newMode, compatibleMode) override fun addReturnTypeSpecialCase(irFunction: IrFunction): Boolean = - irFunction.isFromJava() + irFunction.isFromJava() && (irFunction as? IrSimpleFunction)?.correspondingPropertySymbol == null override fun mangleTypePlatformSpecific(type: IrType, tBuilder: StringBuilder) { if (type.hasAnnotation(JvmAnnotationNames.ENHANCED_NULLABILITY_ANNOTATION)) {