diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassBase.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassBase.kt index b6e818ed2b2..a3836c037ab 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassBase.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassBase.kt @@ -81,4 +81,8 @@ abstract class KtLightClassBase protected constructor(manager: PsiManager) abstract override fun hashCode(): Int override fun getContext() = parent + + override fun isEquivalentTo(another: PsiElement?): Boolean { + return PsiClassImplUtil.isClassEquivalentTo(this, another) + } } diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightPsi.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightPsi.kt index 9882d48a9a8..ac91448ca5d 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightPsi.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightPsi.kt @@ -10,6 +10,7 @@ import com.intellij.lang.Language import com.intellij.psi.* import com.intellij.psi.impl.PsiClassImplUtil import com.intellij.psi.impl.PsiImplUtil +import com.intellij.psi.impl.PsiSuperMethodImplUtil import com.intellij.psi.impl.light.* import com.intellij.psi.util.TypeConversionUtil import org.jetbrains.annotations.NonNls @@ -57,7 +58,9 @@ class KtUltraLightClass(classOrObject: KtClassOrObject, private val support: Ult override fun findLightClassData(): LightClassData = super.findLightClassData().also { if (!isClsDelegateLoaded) { isClsDelegateLoaded = true - check(tooComplex) { "Cls delegate shouldn't be loaded for not too complex ultra-light classes!" } + check(tooComplex) { + "Cls delegate shouldn't be loaded for not too complex ultra-light classes! Qualified name: $qualifiedName" + } } } @@ -92,6 +95,7 @@ class KtUltraLightClass(classOrObject: KtClassOrObject, private val support: Ult override fun getSuperClass(): PsiClass? = PsiClassImplUtil.getSuperClass(this) override fun getSupers(): Array = PsiClassImplUtil.getSupers(this) override fun getSuperTypes(): Array = PsiClassImplUtil.getSuperTypes(this) + override fun getVisibleSignatures(): MutableCollection = PsiSuperMethodImplUtil.getVisibleSignatures(this) override fun getRBrace(): PsiElement? = null override fun getLBrace(): PsiElement? = null