[kotlin] IDEA-353900 k2: ShortenReference for uast

This is necessary for the Reactive-streams plugin, which uses shortening

GitOrigin-RevId: fae6588709134846da0c279e372f59505c7530e0
This commit is contained in:
Marat Dinmukhametov
2024-09-26 18:00:18 +00:00
committed by intellij-monorepo-bot
parent f8a99dafbd
commit a2ca3fd2e3
2 changed files with 5 additions and 9 deletions
@@ -37,5 +37,6 @@
<orderEntry type="library" name="kotlinc.low-level-api-fir" level="project" />
<orderEntry type="library" name="kotlinc.analysis-api-platform-interface" level="project" />
<orderEntry type="library" name="kotlinc.symbol-light-classes" level="project" />
<orderEntry type="module" module-name="kotlin.base.analysis-api.utils" />
</component>
</module>
@@ -2,18 +2,13 @@
package org.jetbrains.uast.kotlin
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.idea.base.analysis.api.utils.shortenReferences
import org.jetbrains.kotlin.psi.KtElement
import org.jetbrains.uast.kotlin.generate.KotlinUastBaseCodeGenerationPlugin
import org.jetbrains.uast.kotlin.internal.analyzeForUast
abstract class FirKotlinUastCodeGenerationPlugin : KotlinUastBaseCodeGenerationPlugin() {
override fun shortenReference(sourcePsi: KtElement): PsiElement {
val ktFile = sourcePsi.containingKtFile
analyzeForUast(ktFile) {
collectPossibleReferenceShortenings(ktFile, sourcePsi.textRange)
override fun shortenReference(sourcePsi: KtElement): PsiElement? {
shortenReferences(sourcePsi)
return sourcePsi
}
//todo apply shortening
return sourcePsi
}
}