EA-216333: check PsiElement validity before light class generation

This commit is contained in:
Yan Zhulanow
2019-11-13 20:00:45 +09:00
parent 59296d6a6b
commit f75288b480
@@ -119,6 +119,10 @@ class IDEKotlinAsJavaSupport(private val project: Project) : KotlinAsJavaSupport
} }
override fun getLightClass(classOrObject: KtClassOrObject): KtLightClass? { override fun getLightClass(classOrObject: KtClassOrObject): KtLightClass? {
if (!classOrObject.isValid) {
return null
}
val virtualFile = classOrObject.containingFile.virtualFile val virtualFile = classOrObject.containingFile.virtualFile
if (virtualFile != null) { if (virtualFile != null) {
when { when {
@@ -139,8 +143,13 @@ class IDEKotlinAsJavaSupport(private val project: Project) : KotlinAsJavaSupport
return null return null
} }
override fun getLightClassForScript(script: KtScript): KtLightClassForScript? = override fun getLightClassForScript(script: KtScript): KtLightClassForScript? {
KtLightClassForScript.create(script) if (!script.isValid) {
return null
}
return KtLightClassForScript.create(script)
}
private fun withFakeLightClasses( private fun withFakeLightClasses(
lightClassForFacade: KtLightClassForFacade lightClassForFacade: KtLightClassForFacade