fix some cases of "Cls delegate shouldn't be loaded for not too complex ultra-light classes"

This commit is contained in:
peter
2018-10-26 14:21:04 +02:00
parent cfffd21fa9
commit e93a90bc09
2 changed files with 9 additions and 1 deletions
@@ -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)
}
}
@@ -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<PsiClass> = PsiClassImplUtil.getSupers(this)
override fun getSuperTypes(): Array<PsiClassType> = PsiClassImplUtil.getSuperTypes(this)
override fun getVisibleSignatures(): MutableCollection<HierarchicalMethodSignature> = PsiSuperMethodImplUtil.getVisibleSignatures(this)
override fun getRBrace(): PsiElement? = null
override fun getLBrace(): PsiElement? = null