[Analysis] do not fail when reporting exception with invalid psi as attachment
This commit is contained in:
+4
-2
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user