From db565ee2388f7404b07ab088db179b506a78c851 Mon Sep 17 00:00:00 2001 From: Roman Artemev Date: Wed, 18 Mar 2020 13:53:29 +0300 Subject: [PATCH] [IR] Fix equals/hachCode for FileLocalSignature It actually doesn't require checking container. --- .../ir.tree/src/org/jetbrains/kotlin/ir/util/IdSignature.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IdSignature.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IdSignature.kt index 532e095dab3..c4d73623cf7 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IdSignature.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IdSignature.kt @@ -108,7 +108,7 @@ sealed class IdSignature { override fun asPublic(): PublicSignature? = accessorSignature } - data class FileLocalSignature(val container: IdSignature, val id: Long) : IdSignature() { + class FileLocalSignature(val container: IdSignature, val id: Long) : IdSignature() { override val isPublic = false override fun packageFqName(): FqName = container.packageFqName() @@ -128,7 +128,8 @@ sealed class IdSignature { override fun render(): String = "${container.render()}:$id" - override fun toString() = super.toString() + override fun hashCode(): Int = id.toInt() + override fun equals(other: Any?): Boolean = other is FileLocalSignature && id == other.id } // Used to reference local variable and value parameters in function