JVM_IR: do not use return type in Java property mangles
Another case of discrepancy between IR-based mangles and descriptor-based mangles.
This commit is contained in:
committed by
TeamCityServer
parent
4d2bcf7e66
commit
044acbb5ef
+2
-1
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
|||||||
import org.jetbrains.kotlin.idea.MainFunctionDetector
|
import org.jetbrains.kotlin.idea.MainFunctionDetector
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrFunction
|
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.types.IrType
|
||||||
import org.jetbrains.kotlin.ir.util.hasAnnotation
|
import org.jetbrains.kotlin.ir.util.hasAnnotation
|
||||||
import org.jetbrains.kotlin.ir.util.isFromJava
|
import org.jetbrains.kotlin.ir.util.isFromJava
|
||||||
@@ -42,7 +43,7 @@ object JvmIrMangler : IrBasedKotlinManglerImpl() {
|
|||||||
JvmIrManglerComputer(builder, newMode, compatibleMode)
|
JvmIrManglerComputer(builder, newMode, compatibleMode)
|
||||||
|
|
||||||
override fun addReturnTypeSpecialCase(irFunction: IrFunction): Boolean =
|
override fun addReturnTypeSpecialCase(irFunction: IrFunction): Boolean =
|
||||||
irFunction.isFromJava()
|
irFunction.isFromJava() && (irFunction as? IrSimpleFunction)?.correspondingPropertySymbol == null
|
||||||
|
|
||||||
override fun mangleTypePlatformSpecific(type: IrType, tBuilder: StringBuilder) {
|
override fun mangleTypePlatformSpecific(type: IrType, tBuilder: StringBuilder) {
|
||||||
if (type.hasAnnotation(JvmAnnotationNames.ENHANCED_NULLABILITY_ANNOTATION)) {
|
if (type.hasAnnotation(JvmAnnotationNames.ENHANCED_NULLABILITY_ANNOTATION)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user