From 0c2ea5d79993ac432d215fa1744d845f54be9ca5 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Mon, 17 Apr 2017 17:50:50 +0300 Subject: [PATCH] Light Classes: Fix equivalence check Do not consider PsiClass equiavent to KtLightClass if it's not a light class as well #KT-16180 Fixed --- .../jetbrains/kotlin/asJava/classes/KtLightClassForFacade.kt | 2 +- .../kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForFacade.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForFacade.kt index b090970cc38..22fff3279fb 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForFacade.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForFacade.kt @@ -200,7 +200,7 @@ class KtLightClassForFacade private constructor( override fun getNavigationElement() = files.iterator().next() override fun isEquivalentTo(another: PsiElement?): Boolean { - return another is PsiClass && Comparing.equal(another.qualifiedName, qualifiedName) + return another is KtLightClassForFacade && Comparing.equal(another.qualifiedName, qualifiedName) } override fun getElementIcon(flags: Int): Icon? = throw UnsupportedOperationException("This should be done by JetIconProvider") 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 c1ae4817e51..b53b83c85f5 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 @@ -138,7 +138,7 @@ abstract class KtLightClassForSourceDeclaration(protected val classOrObject: KtC override fun getNavigationElement(): PsiElement = classOrObject override fun isEquivalentTo(another: PsiElement?): Boolean { - return another is PsiClass && Comparing.equal(another.qualifiedName, qualifiedName) + return another is KtLightClassForSourceDeclaration && Comparing.equal(another.qualifiedName, qualifiedName) } override fun getElementIcon(flags: Int): Icon? { @@ -506,4 +506,4 @@ fun KtClassOrObject.defaultJavaAncestorQualifiedName(): String? { isInterface() -> CommonClassNames.JAVA_LANG_OBJECT // see com.intellij.psi.impl.PsiClassImplUtil.getSuperClass else -> CommonClassNames.JAVA_LANG_OBJECT } -} \ No newline at end of file +}