From 72752473bf1eaa70894c4414d23b512de76c69cf Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Mon, 13 Sep 2021 15:25:58 +0700 Subject: [PATCH] [light classes] KtLightClassForSourceDeclaration: update `equals` and `hashCode` to fix `PluginException` ^KTIJ-19042 Fixed ^EA-357501 Fixed --- .../asJava/classes/KtLightClassForSourceDeclaration.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt index 7c3aae06db1..3d64940bee6 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -169,11 +169,12 @@ abstract class KtLightClassForSourceDeclaration( val aClass = other as KtLightClassForSourceDeclaration if (classOrObject != aClass.classOrObject) return false + if (jvmDefaultMode != aClass.jvmDefaultMode) return false return true } - override fun hashCode(): Int = classOrObject.hashCode() + override fun hashCode(): Int = classOrObject.hashCode() * 31 + jvmDefaultMode.hashCode() override fun getContainingClass(): PsiClass? { if (classOrObject.parent === classOrObject.containingFile) return null