From 932c2a6e15ee3e84f77d8f0f6d22ae82c58e3aee Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Thu, 24 Aug 2023 14:27:23 +0200 Subject: [PATCH] [AA FIR] KtFirReferenceShortener: process only statements in scripts We shouldn't process other elements (like parameters/receivers) because we can't modify them anyway. This will help to avoid exceptions like ``` Attempt to load text for binary file which doesn't have a decompiler plugged in ``` in tests ^KT-61431 --- .../analysis/api/fir/components/KtFirReferenceShortener.kt | 6 ++++++ 1 file changed, 6 insertions(+) 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 de2e98a8874..02f2372c70f 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 @@ -382,6 +382,12 @@ private class ElementsToShortenCollector( } } + override fun visitScript(script: FirScript) { + script.statements.forEach { + it.accept(this) + } + } + override fun visitElement(element: FirElement) { element.acceptChildren(this) }