JVM IR: Remove corresponding property hacks from MethodSignatureMapper
This commit is contained in:
committed by
Alexander Udalov
parent
497df0922a
commit
13f15a702b
+3
-8
@@ -12,12 +12,10 @@ import org.jetbrains.kotlin.backend.common.lower.parentsWithSelf
|
|||||||
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
||||||
import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
|
import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.backend.jvm.ir.getJvmNameFromAnnotation
|
import org.jetbrains.kotlin.backend.jvm.ir.getJvmNameFromAnnotation
|
||||||
import org.jetbrains.kotlin.backend.jvm.ir.hasJvmDefault
|
|
||||||
import org.jetbrains.kotlin.backend.jvm.ir.isCompiledToJvmDefault
|
import org.jetbrains.kotlin.backend.jvm.ir.isCompiledToJvmDefault
|
||||||
import org.jetbrains.kotlin.backend.jvm.ir.propertyIfAccessor
|
import org.jetbrains.kotlin.backend.jvm.ir.propertyIfAccessor
|
||||||
import org.jetbrains.kotlin.backend.jvm.lower.*
|
import org.jetbrains.kotlin.backend.jvm.lower.suspendFunctionOriginal
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.codegen.AsmUtil
|
|
||||||
import org.jetbrains.kotlin.codegen.JvmCodegenUtil
|
import org.jetbrains.kotlin.codegen.JvmCodegenUtil
|
||||||
import org.jetbrains.kotlin.codegen.replaceValueParametersIn
|
import org.jetbrains.kotlin.codegen.replaceValueParametersIn
|
||||||
import org.jetbrains.kotlin.codegen.signature.BothSignatureWriter
|
import org.jetbrains.kotlin.codegen.signature.BothSignatureWriter
|
||||||
@@ -88,7 +86,7 @@ class MethodSignatureMapper(private val context: JvmBackendContext) {
|
|||||||
if ((propertyParent.isEnumClass || propertyParent.isEnumEntry) && (propertyName == "name" || propertyName == "ordinal"))
|
if ((propertyParent.isEnumClass || propertyParent.isEnumEntry) && (propertyName == "name" || propertyName == "ordinal"))
|
||||||
return propertyName
|
return propertyName
|
||||||
|
|
||||||
val accessorName = if (function.isPropertyGetter) JvmAbi.getterName(propertyName) else JvmAbi.setterName(propertyName)
|
val accessorName = if (function.isGetter) JvmAbi.getterName(propertyName) else JvmAbi.setterName(propertyName)
|
||||||
return mangleMemberNameIfRequired(accessorName, function)
|
return mangleMemberNameIfRequired(accessorName, function)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,10 +157,7 @@ class MethodSignatureMapper(private val context: JvmBackendContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun hasVoidReturnType(function: IrFunction): Boolean =
|
private fun hasVoidReturnType(function: IrFunction): Boolean =
|
||||||
function is IrConstructor || (function.returnType.isUnit() && !function.isPropertyGetter)
|
function is IrConstructor || (function.returnType.isUnit() && !function.isGetter)
|
||||||
|
|
||||||
private val IrFunction.isPropertyGetter: Boolean
|
|
||||||
get() = isPropertyAccessor && valueParameters.isEmpty()
|
|
||||||
|
|
||||||
// Copied from KotlinTypeMapper.forceBoxedReturnType.
|
// Copied from KotlinTypeMapper.forceBoxedReturnType.
|
||||||
private fun forceBoxedReturnType(function: IrFunction): Boolean {
|
private fun forceBoxedReturnType(function: IrFunction): Boolean {
|
||||||
|
|||||||
Reference in New Issue
Block a user