fix some cases of "Cls delegate shouldn't be loaded for not too complex ultra-light classes"
This commit is contained in:
@@ -81,4 +81,8 @@ abstract class KtLightClassBase protected constructor(manager: PsiManager)
|
|||||||
abstract override fun hashCode(): Int
|
abstract override fun hashCode(): Int
|
||||||
|
|
||||||
override fun getContext() = parent
|
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.*
|
||||||
import com.intellij.psi.impl.PsiClassImplUtil
|
import com.intellij.psi.impl.PsiClassImplUtil
|
||||||
import com.intellij.psi.impl.PsiImplUtil
|
import com.intellij.psi.impl.PsiImplUtil
|
||||||
|
import com.intellij.psi.impl.PsiSuperMethodImplUtil
|
||||||
import com.intellij.psi.impl.light.*
|
import com.intellij.psi.impl.light.*
|
||||||
import com.intellij.psi.util.TypeConversionUtil
|
import com.intellij.psi.util.TypeConversionUtil
|
||||||
import org.jetbrains.annotations.NonNls
|
import org.jetbrains.annotations.NonNls
|
||||||
@@ -57,7 +58,9 @@ class KtUltraLightClass(classOrObject: KtClassOrObject, private val support: Ult
|
|||||||
override fun findLightClassData(): LightClassData = super.findLightClassData().also {
|
override fun findLightClassData(): LightClassData = super.findLightClassData().also {
|
||||||
if (!isClsDelegateLoaded) {
|
if (!isClsDelegateLoaded) {
|
||||||
isClsDelegateLoaded = true
|
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 getSuperClass(): PsiClass? = PsiClassImplUtil.getSuperClass(this)
|
||||||
override fun getSupers(): Array<PsiClass> = PsiClassImplUtil.getSupers(this)
|
override fun getSupers(): Array<PsiClass> = PsiClassImplUtil.getSupers(this)
|
||||||
override fun getSuperTypes(): Array<PsiClassType> = PsiClassImplUtil.getSuperTypes(this)
|
override fun getSuperTypes(): Array<PsiClassType> = PsiClassImplUtil.getSuperTypes(this)
|
||||||
|
override fun getVisibleSignatures(): MutableCollection<HierarchicalMethodSignature> = PsiSuperMethodImplUtil.getVisibleSignatures(this)
|
||||||
|
|
||||||
override fun getRBrace(): PsiElement? = null
|
override fun getRBrace(): PsiElement? = null
|
||||||
override fun getLBrace(): PsiElement? = null
|
override fun getLBrace(): PsiElement? = null
|
||||||
|
|||||||
Reference in New Issue
Block a user