experiment
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/signature/IdSignatureComputers.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/signature/IdSignatureComputers.kt
index 25b690d..11382bb 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/signature/IdSignatureComputers.kt
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/signature/IdSignatureComputers.kt
@@ -205,33 +205,24 @@
is IrAnonymousInitializer -> IdSignature.ScopeLocalDeclaration(scopeIndex++, "ANON INIT")
is IrLocalDelegatedProperty -> IdSignature.ScopeLocalDeclaration(scopeIndex++, declaration.name.asString())
is IrField -> {
- val p = declaration.correspondingPropertySymbol?.let { signatureByDeclaration(it.owner, compatibleMode) }
+ val signatureOfContainer = declaration.correspondingPropertySymbol?.let { signatureByDeclaration(it.owner, compatibleMode) }
?: composeContainerIdSignature(declaration.parent, compatibleMode)
- IdSignature.FileLocalSignature(p, ++localIndex)
+ IdSignature.FileLocalSignature(signatureOfContainer, ++localIndex)
}
is IrSimpleFunction -> {
- val parent = declaration.parent
- val p = declaration.correspondingPropertySymbol?.let { signatureByDeclaration(it.owner, compatibleMode) }
- ?: composeContainerIdSignature(parent, compatibleMode)
+ val signatureOfContainer = declaration.correspondingPropertySymbol?.let { signatureByDeclaration(it.owner, compatibleMode) }
+ ?: composeContainerIdSignature(declaration.parent, compatibleMode)
IdSignature.FileLocalSignature(
- p,
- if (declaration.isOverridableFunction()) {
- mangler.run { declaration.signatureMangle(compatibleMode) }
- } else {
- ++localIndex
- },
+ signatureOfContainer,
+ ++localIndex,
declaration.render()
)
}
is IrProperty -> {
- val parent = declaration.parent
+ // TODO: merge it with the 'else' branch, it's the same
IdSignature.FileLocalSignature(
- composeContainerIdSignature(parent, compatibleMode),
- if (declaration.isOverridableProperty()) {
- mangler.run { declaration.signatureMangle(compatibleMode) }
- } else {
- ++localIndex
- },
+ composeContainerIdSignature(declaration.parent, compatibleMode),
+ ++localIndex,
declaration.render()
)
}
@@ -244,15 +235,6 @@
}
}
- private fun IrSimpleFunction.isOverridableFunction(): Boolean =
- !DescriptorVisibilities.isPrivate(visibility) && hasDispatchReceiver
-
- private fun IrProperty.isOverridableProperty(): Boolean =
- !DescriptorVisibilities.isPrivate(visibility) && (getter.hasDispatchReceiver || setter.hasDispatchReceiver)
-
- private val IrSimpleFunction?.hasDispatchReceiver: Boolean
- get() = this?.dispatchReceiverParameter != null
-
companion object {
private const val START_INDEX = 0
}