From 86670361a16ba9ebda88ed300637f4ab6d3508c1 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 28 Sep 2022 19:24:33 +0200 Subject: [PATCH] [Analysis] do not fail when reporting exception with invalid psi as attachment --- .../utils/errors/exceptionWithAttachmentBuilderHelpers.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/analysis/analysis-internal-utils/src/org/jetbrains/kotlin/analysis/utils/errors/exceptionWithAttachmentBuilderHelpers.kt b/analysis/analysis-internal-utils/src/org/jetbrains/kotlin/analysis/utils/errors/exceptionWithAttachmentBuilderHelpers.kt index a39cd0b4cc4..2cb7e650e64 100644 --- a/analysis/analysis-internal-utils/src/org/jetbrains/kotlin/analysis/utils/errors/exceptionWithAttachmentBuilderHelpers.kt +++ b/analysis/analysis-internal-utils/src/org/jetbrains/kotlin/analysis/utils/errors/exceptionWithAttachmentBuilderHelpers.kt @@ -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 } }