diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt index d13cccb275a..67c70d3efa8 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt @@ -95,7 +95,7 @@ internal class KtFirReferenceShortener( firDeclaration.accept(collector) return ShortenCommandImpl( - file, + file.createSmartPointer(), collector.namesToImport.distinct(), collector.namesToImportWithStar.distinct(), collector.typesToShorten.distinct().map { it.createSmartPointer() }, @@ -616,7 +616,7 @@ private class ElementsToShortenCollector( } private class ShortenCommandImpl( - val targetFile: KtFile, + val targetFile: SmartPsiElementPointer, val importsToAdd: List, val starImportsToAdd: List, val typesToShorten: List>, @@ -624,6 +624,9 @@ private class ShortenCommandImpl( ) : ShortenCommand { override fun invokeShortening() { + // if the file has been invalidated, there's nothing we can shorten + val targetFile = targetFile.element ?: return + for (nameToImport in importsToAdd) { addImportToFile(targetFile.project, targetFile, nameToImport) }