[Analysis] do not fail when reporting exception with invalid psi as attachment

This commit is contained in:
Ilya Kirillov
2022-09-28 19:24:33 +02:00
parent 4ae1cb74dd
commit 86670361a1
@@ -6,13 +6,15 @@
package org.jetbrains.kotlin.analysis.utils.errors
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiInvalidElementAccessException
import org.jetbrains.kotlin.analysis.utils.printer.getElementTextInContext
import org.jetbrains.kotlin.psi.KtElement
public fun ExceptionAttachmentBuilder.withPsiEntry(name: String, psi: PsiElement?) {
withEntry(name, psi) { psiElement ->
when (psiElement) {
is KtElement -> psiElement.getElementTextInContext()
when {
!psiElement.isValid -> "INVALID PSI ${PsiInvalidElementAccessException.findOutInvalidationReason(psiElement)}"
psiElement is KtElement -> psiElement.getElementTextInContext()
else -> psiElement.text
}
}