From 226d514788aff5da2d1365926db4d36d590c7ac4 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Sat, 27 Jun 2020 00:18:16 +0300 Subject: [PATCH] FIR IDE: rename reference classes to KtFir*Reference for consistency --- .../idea/fir/highlighter/KotlinFirPsiChecker.kt | 8 ++++---- .../ExpressionsSmartcastHighlightingVisitor.kt | 4 ++-- .../visitors/FirAfterResolveHighlightingVisitor.kt | 6 +++--- .../visitors/FunctionCallHighlightingVisitor.kt | 2 +- .../highlighter/visitors/TypeHighlightingVisitor.kt | 4 ++-- .../visitors/VariableReferenceHighlightingVisitor.kt | 4 ++-- ...ontendAnalysisSession.kt => KtAnalysisSession.kt} | 2 +- .../idea/frontend/api/KtSymbolBasedReference.kt | 6 +++--- ...FirAnalysisSession.kt => KtFirAnalysisSession.kt} | 8 ++++---- ...FirKtSymbolProvider.kt => KtFirSymbolProvider.kt} | 2 +- .../idea/references/FirReferenceResolveHelper.kt | 2 +- .../kotlin/idea/references/FirSimpleNameReference.kt | 12 ++++++------ .../idea/references/KotlinFirReferenceContributor.kt | 10 +++++----- ....kt => KtFirDestructuringDeclarationReference.kt} | 12 ++++++------ ...eferenceFirImpl.kt => KtFirForLoopInReference.kt} | 11 +++++------ ...nceFirImpl.kt => KtFirInvokeFunctionReference.kt} | 7 +++---- ...kt => KtFirPropertyDelegationMethodsReference.kt} | 12 ++++++------ .../{FirKtReference.kt => KtFirReference.kt} | 8 ++++---- .../kotlin/idea/references/KtFirReferenceResolver.kt | 6 +++--- .../idea/frontend/api/fir/AbstractResolveCallTest.kt | 2 +- .../api/symbols/AbstractSymbolsByPsiBuildingTest.kt | 5 ++--- 21 files changed, 65 insertions(+), 68 deletions(-) rename idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/{FrontendAnalysisSession.kt => KtAnalysisSession.kt} (95%) rename idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/{FirAnalysisSession.kt => KtFirAnalysisSession.kt} (98%) rename idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/{FirKtSymbolProvider.kt => KtFirSymbolProvider.kt} (98%) rename idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/{KtDestructuringDeclarationReferenceFirImpl.kt => KtFirDestructuringDeclarationReference.kt} (72%) rename idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/{KtForLoopInReferenceFirImpl.kt => KtFirForLoopInReference.kt} (81%) rename idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/{KtInvokeFunctionReferenceFirImpl.kt => KtFirInvokeFunctionReference.kt} (69%) rename idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/{KtPropertyDelegationMethodsReferenceFirImpl.kt => KtFirPropertyDelegationMethodsReference.kt} (79%) rename idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/{FirKtReference.kt => KtFirReference.kt} (62%) diff --git a/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/KotlinFirPsiChecker.kt b/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/KotlinFirPsiChecker.kt index 6777364e224..9ca4d16a447 100644 --- a/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/KotlinFirPsiChecker.kt +++ b/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/KotlinFirPsiChecker.kt @@ -11,8 +11,8 @@ import com.intellij.openapi.progress.ProcessCanceledException import com.intellij.psi.PsiElement import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.idea.fir.highlighter.visitors.FirAfterResolveHighlightingVisitor -import org.jetbrains.kotlin.idea.frontend.api.FrontendAnalysisSession -import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.fir.KtFirAnalysisSession import org.jetbrains.kotlin.idea.highlighter.AbstractKotlinPsiChecker import org.jetbrains.kotlin.idea.highlighter.Diagnostic2Annotation import org.jetbrains.kotlin.idea.highlighter.IdeErrorMessages @@ -29,7 +29,7 @@ class KotlinFirPsiChecker : AbstractKotlinPsiChecker() { if (ApplicationManager.getApplication().isDispatchThread) { throw ProcessCanceledException() } - val analysisSession = FirAnalysisSession(element) + val analysisSession = KtFirAnalysisSession(element) highlightDiagnostics(element, analysisSession, holder) @@ -38,7 +38,7 @@ class KotlinFirPsiChecker : AbstractKotlinPsiChecker() { .forEach(element::accept) } - private fun highlightDiagnostics(element: KtElement, analysisSession: FrontendAnalysisSession, holder: AnnotationHolder) { + private fun highlightDiagnostics(element: KtElement, analysisSession: KtAnalysisSession, holder: AnnotationHolder) { val diagnostics = analysisSession.getDiagnosticsForElement(element) if (diagnostics.isEmpty()) return diff --git a/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/ExpressionsSmartcastHighlightingVisitor.kt b/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/ExpressionsSmartcastHighlightingVisitor.kt index 2410dcbff97..976ea785e3d 100644 --- a/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/ExpressionsSmartcastHighlightingVisitor.kt +++ b/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/ExpressionsSmartcastHighlightingVisitor.kt @@ -8,12 +8,12 @@ package org.jetbrains.kotlin.idea.fir.highlighter.visitors import com.intellij.lang.annotation.AnnotationHolder import com.intellij.psi.PsiElement import org.jetbrains.kotlin.idea.KotlinIdeaAnalysisBundle -import org.jetbrains.kotlin.idea.frontend.api.FrontendAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.ImplicitReceiverSmartcastKind import org.jetbrains.kotlin.psi.* internal class ExpressionsSmartcastHighlightingVisitor( - analysisSession: FrontendAnalysisSession, + analysisSession: KtAnalysisSession, holder: AnnotationHolder ) : FirAfterResolveHighlightingVisitor(analysisSession, holder) { override fun visitExpression(expression: KtExpression) { diff --git a/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/FirAfterResolveHighlightingVisitor.kt b/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/FirAfterResolveHighlightingVisitor.kt index 8ced5481e97..0348a0cf832 100644 --- a/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/FirAfterResolveHighlightingVisitor.kt +++ b/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/FirAfterResolveHighlightingVisitor.kt @@ -6,17 +6,17 @@ package org.jetbrains.kotlin.idea.fir.highlighter.visitors import com.intellij.lang.annotation.AnnotationHolder -import org.jetbrains.kotlin.idea.frontend.api.FrontendAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession import org.jetbrains.kotlin.idea.highlighter.HighlightingVisitor abstract class FirAfterResolveHighlightingVisitor( - protected val analysisSession: FrontendAnalysisSession, + protected val analysisSession: KtAnalysisSession, protected val holder: AnnotationHolder ) : HighlightingVisitor(holder) { companion object { fun createListOfVisitors( - analysisSession: FrontendAnalysisSession, + analysisSession: KtAnalysisSession, holder: AnnotationHolder ): List = listOf( TypeHighlightingVisitor(analysisSession, holder), diff --git a/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/FunctionCallHighlightingVisitor.kt b/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/FunctionCallHighlightingVisitor.kt index 36b2ea7fbe3..6b18a3b7a89 100644 --- a/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/FunctionCallHighlightingVisitor.kt +++ b/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/FunctionCallHighlightingVisitor.kt @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.serialization.deserialization.KOTLIN_SUSPEND_BUILT_I import org.jetbrains.kotlin.idea.highlighter.KotlinHighlightingColors as Colors internal class FunctionCallHighlightingVisitor( - analysisSession: FrontendAnalysisSession, + analysisSession: KtAnalysisSession, holder: AnnotationHolder ) : FirAfterResolveHighlightingVisitor(analysisSession, holder) { override fun visitBinaryExpression(expression: KtBinaryExpression) { diff --git a/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/TypeHighlightingVisitor.kt b/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/TypeHighlightingVisitor.kt index 8db343e445e..a26c4da1fa7 100644 --- a/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/TypeHighlightingVisitor.kt +++ b/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/TypeHighlightingVisitor.kt @@ -11,14 +11,14 @@ import com.intellij.psi.PsiElement import com.intellij.psi.util.PsiTreeUtil import org.jetbrains.kotlin.idea.fir.highlighter.isAnnotationClass import org.jetbrains.kotlin.idea.fir.highlighter.textAttributesKeyForTypeDeclaration -import org.jetbrains.kotlin.idea.frontend.api.FrontendAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession import org.jetbrains.kotlin.idea.highlighter.NameHighlighter import org.jetbrains.kotlin.idea.references.mainReference import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.idea.highlighter.KotlinHighlightingColors as Colors internal class TypeHighlightingVisitor( - analysisSession: FrontendAnalysisSession, + analysisSession: KtAnalysisSession, holder: AnnotationHolder ) : FirAfterResolveHighlightingVisitor(analysisSession, holder) { override fun visitSimpleNameExpression(expression: KtSimpleNameExpression) { diff --git a/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/VariableReferenceHighlightingVisitor.kt b/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/VariableReferenceHighlightingVisitor.kt index c1319ef2578..0f5730e4bec 100644 --- a/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/VariableReferenceHighlightingVisitor.kt +++ b/idea/idea-fir/src/org/jetbrains/kotlin/idea/fir/highlighter/visitors/VariableReferenceHighlightingVisitor.kt @@ -14,7 +14,7 @@ import com.intellij.psi.util.PsiUtilCore import com.intellij.psi.util.parentOfType import org.jetbrains.kotlin.idea.KotlinIdeaAnalysisBundle import org.jetbrains.kotlin.idea.fir.highlighter.textAttributesKeyForPropertyDeclaration -import org.jetbrains.kotlin.idea.frontend.api.FrontendAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession import org.jetbrains.kotlin.idea.highlighter.NameHighlighter import org.jetbrains.kotlin.idea.references.mainReference import org.jetbrains.kotlin.lexer.KtTokens @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.idea.highlighter.KotlinHighlightingColors as Colors internal class VariableReferenceHighlightingVisitor( - analysisSession: FrontendAnalysisSession, + analysisSession: KtAnalysisSession, holder: AnnotationHolder ) : FirAfterResolveHighlightingVisitor(analysisSession, holder) { override fun visitSimpleNameExpression(expression: KtSimpleNameExpression) { diff --git a/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/FrontendAnalysisSession.kt b/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/KtAnalysisSession.kt similarity index 95% rename from idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/FrontendAnalysisSession.kt rename to idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/KtAnalysisSession.kt index cf64029ea58..b9d03991b18 100644 --- a/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/FrontendAnalysisSession.kt +++ b/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/KtAnalysisSession.kt @@ -11,7 +11,7 @@ import org.jetbrains.kotlin.idea.frontend.api.symbols.* import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.psi.* -abstract class FrontendAnalysisSession(project: Project) : Invalidatable { +abstract class KtAnalysisSession(project: Project) : Invalidatable { protected open val validityToken = ReadActionConfinementValidityToken(project) override fun isValid(): Boolean = validityToken.isValid() override fun invalidationReason(): String = validityToken.invalidationReason() diff --git a/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/KtSymbolBasedReference.kt b/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/KtSymbolBasedReference.kt index fc5423ce67b..7a53578f910 100644 --- a/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/KtSymbolBasedReference.kt +++ b/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/KtSymbolBasedReference.kt @@ -10,15 +10,15 @@ import org.jetbrains.kotlin.idea.references.KtReference import org.jetbrains.kotlin.idea.references.KtSimpleReference interface KtSymbolBasedReference : KtReference { - fun resolveToSymbols(analysisSession: FrontendAnalysisSession): Collection + fun resolveToSymbols(analysisSession: KtAnalysisSession): Collection } -fun KtReference.resolveToSymbols(analysisSession: FrontendAnalysisSession): Collection { +fun KtReference.resolveToSymbols(analysisSession: KtAnalysisSession): Collection { check(this is KtSymbolBasedReference) { "To get reference symbol the one should be KtSymbolBasedReference" } return resolveToSymbols(analysisSession) } -fun KtSimpleReference<*>.resolveToSymbol(analysisSession: FrontendAnalysisSession): KtSymbol? { +fun KtSimpleReference<*>.resolveToSymbol(analysisSession: KtAnalysisSession): KtSymbol? { check(this is KtSymbolBasedReference) { "To get reference symbol the one should be KtSymbolBasedReference" } return resolveToSymbols(analysisSession).singleOrNull() } \ No newline at end of file diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/FirAnalysisSession.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/KtFirAnalysisSession.kt similarity index 98% rename from idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/FirAnalysisSession.kt rename to idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/KtFirAnalysisSession.kt index cf1f93d4a16..9461a11acec 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/FirAnalysisSession.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/KtFirAnalysisSession.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.idea.fir.* import org.jetbrains.kotlin.idea.fir.low.level.api.LowLevelFirApiFacade import org.jetbrains.kotlin.idea.frontend.api.* -import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.FirKtSymbolProvider +import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.KtFirSymbolProvider import org.jetbrains.kotlin.idea.frontend.api.symbols.KtFunctionSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbolProvider @@ -32,9 +32,9 @@ import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* -class FirAnalysisSession( +class KtFirAnalysisSession( element: KtElement -) : FrontendAnalysisSession(element.project) { +) : KtAnalysisSession(element.project) { internal val token get() = validityToken internal val firSymbolBuilder = KtSymbolByFirBuilder( @@ -44,7 +44,7 @@ class FirAnalysisSession( ) override val symbolProvider: KtSymbolProvider = - FirKtSymbolProvider( + KtFirSymbolProvider( this, element.session.firSymbolProvider, firSymbolBuilder diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/FirKtSymbolProvider.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirSymbolProvider.kt similarity index 98% rename from idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/FirKtSymbolProvider.kt rename to idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirSymbolProvider.kt index 2530b8a180f..f04339b29b7 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/FirKtSymbolProvider.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirSymbolProvider.kt @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.idea.frontend.api.withValidityAssertion import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.psi.* -internal class FirKtSymbolProvider( +internal class KtFirSymbolProvider( override val token: Invalidatable, firSymbolProvider: FirSymbolProvider, private val firSymbolBuilder: KtSymbolByFirBuilder diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirReferenceResolveHelper.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirReferenceResolveHelper.kt index 2dfbb860233..ea2310088c9 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirReferenceResolveHelper.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirReferenceResolveHelper.kt @@ -82,7 +82,7 @@ internal object FirReferenceResolveHelper { } internal fun resolveSimpleNameReference( - ref: KtSimpleNameReferenceFirImpl, + ref: KtFirSimpleNameReference, symbolBuilder: KtSymbolByFirBuilder ): Collection { val expression = ref.expression diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirSimpleNameReference.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirSimpleNameReference.kt index 4a5e4033510..9e62eb53dc9 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirSimpleNameReference.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirSimpleNameReference.kt @@ -6,18 +6,18 @@ package org.jetbrains.kotlin.idea.references import com.intellij.psi.PsiElement -import org.jetbrains.kotlin.idea.frontend.api.FrontendAnalysisSession -import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.fir.KtFirAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtImportAlias import org.jetbrains.kotlin.psi.KtSimpleNameExpression -internal class KtSimpleNameReferenceFirImpl( +internal class KtFirSimpleNameReference( expression: KtSimpleNameExpression -) : KtSimpleNameReference(expression), FirKtReference { - override fun resolveToSymbols(analysisSession: FrontendAnalysisSession): Collection { - check(analysisSession is FirAnalysisSession) +) : KtSimpleNameReference(expression), KtFirReference { + override fun resolveToSymbols(analysisSession: KtAnalysisSession): Collection { + check(analysisSession is KtFirAnalysisSession) return FirReferenceResolveHelper.resolveSimpleNameReference(this, analysisSession.firSymbolBuilder) } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KotlinFirReferenceContributor.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KotlinFirReferenceContributor.kt index 19233987cc9..9834361bb72 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KotlinFirReferenceContributor.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KotlinFirReferenceContributor.kt @@ -8,11 +8,11 @@ package org.jetbrains.kotlin.idea.references class KotlinFirReferenceContributor : KotlinReferenceProviderContributor { override fun registerReferenceProviders(registrar: KotlinPsiReferenceRegistrar) { with(registrar) { - registerProvider(factory = ::KtSimpleNameReferenceFirImpl) - registerProvider(factory = ::KtForLoopInReferenceFirImpl) - registerProvider(factory = ::KtInvokeFunctionReferenceFirImpl) - registerProvider(factory = ::KtPropertyDelegationMethodsReferenceFirImpl) - registerProvider(factory = ::KtDestructuringDeclarationReferenceFirImpl) + registerProvider(factory = ::KtFirSimpleNameReference) + registerProvider(factory = ::KtFirForLoopInReference) + registerProvider(factory = ::KtFirInvokeFunctionReference) + registerProvider(factory = ::KtFirPropertyDelegationMethodsReference) + registerProvider(factory = ::KtFirDestructuringDeclarationReference) } } } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtDestructuringDeclarationReferenceFirImpl.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirDestructuringDeclarationReference.kt similarity index 72% rename from idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtDestructuringDeclarationReferenceFirImpl.kt rename to idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirDestructuringDeclarationReference.kt index abad4006d95..710a8d49d9f 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtDestructuringDeclarationReferenceFirImpl.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirDestructuringDeclarationReference.kt @@ -9,19 +9,19 @@ import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.expressions.FirComponentCall import org.jetbrains.kotlin.idea.fir.getCalleeSymbol import org.jetbrains.kotlin.idea.fir.getOrBuildFirSafe -import org.jetbrains.kotlin.idea.frontend.api.FrontendAnalysisSession -import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.fir.KtFirAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.fir.buildSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol import org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry -class KtDestructuringDeclarationReferenceFirImpl( +class KtFirDestructuringDeclarationReference( element: KtDestructuringDeclarationEntry -) : KtDestructuringDeclarationReference(element), FirKtReference { +) : KtDestructuringDeclarationReference(element), KtFirReference { override fun canRename(): Boolean = false //todo - override fun resolveToSymbols(analysisSession: FrontendAnalysisSession): Collection { - check(analysisSession is FirAnalysisSession) + override fun resolveToSymbols(analysisSession: KtAnalysisSession): Collection { + check(analysisSession is KtFirAnalysisSession) val fir = expression.getOrBuildFirSafe() ?: return emptyList() val componentFunctionSymbol = (fir.initializer as? FirComponentCall)?.getCalleeSymbol() ?: return emptyList() return listOfNotNull(componentFunctionSymbol.fir.buildSymbol(analysisSession.firSymbolBuilder)) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtForLoopInReferenceFirImpl.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirForLoopInReference.kt similarity index 81% rename from idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtForLoopInReferenceFirImpl.kt rename to idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirForLoopInReference.kt index a100f2035a3..44696f45b49 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtForLoopInReferenceFirImpl.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirForLoopInReference.kt @@ -11,16 +11,15 @@ import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression import org.jetbrains.kotlin.fir.expressions.FirWhileLoop import org.jetbrains.kotlin.idea.fir.getOrBuildFirSafe import org.jetbrains.kotlin.idea.fir.getResolvedSymbolOfNameReference -import org.jetbrains.kotlin.idea.frontend.api.FrontendAnalysisSession -import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.fir.KtFirAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.fir.buildSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol import org.jetbrains.kotlin.psi.KtForExpression -open class KtForLoopInReferenceFirImpl(expression: KtForExpression) : KtForLoopInReference(expression), FirKtReference { - - override fun resolveToSymbols(analysisSession: FrontendAnalysisSession): Collection { - check(analysisSession is FirAnalysisSession) +open class KtFirForLoopInReference(expression: KtForExpression) : KtForLoopInReference(expression), KtFirReference { + override fun resolveToSymbols(analysisSession: KtAnalysisSession): Collection { + check(analysisSession is KtFirAnalysisSession) val firLoop = expression.getOrBuildFirSafe() ?: return emptyList() val condition = firLoop.condition as? FirFunctionCall val iterator = run { diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtInvokeFunctionReferenceFirImpl.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirInvokeFunctionReference.kt similarity index 69% rename from idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtInvokeFunctionReferenceFirImpl.kt rename to idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirInvokeFunctionReference.kt index 139f2090c1a..a1541a91abc 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtInvokeFunctionReferenceFirImpl.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirInvokeFunctionReference.kt @@ -5,19 +5,18 @@ package org.jetbrains.kotlin.idea.references -import org.jetbrains.kotlin.idea.frontend.api.FrontendAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.VariableAsFunctionLikeCallInfo -import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtExpression -class KtInvokeFunctionReferenceFirImpl(expression: KtCallExpression) : KtInvokeFunctionReference(expression), FirKtReference { +class KtFirInvokeFunctionReference(expression: KtCallExpression) : KtInvokeFunctionReference(expression), KtFirReference { override fun doRenameImplicitConventionalCall(newName: String?): KtExpression { TODO("Not yet implemented") } - override fun resolveToSymbols(analysisSession: FrontendAnalysisSession): Collection { + override fun resolveToSymbols(analysisSession: KtAnalysisSession): Collection { val call = analysisSession.resolveCall(expression) ?: return emptyList() if (call is VariableAsFunctionLikeCallInfo) { return listOf(call.invokeFunction) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtPropertyDelegationMethodsReferenceFirImpl.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirPropertyDelegationMethodsReference.kt similarity index 79% rename from idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtPropertyDelegationMethodsReferenceFirImpl.kt rename to idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirPropertyDelegationMethodsReference.kt index 0744bef7bfc..f82ed586bd7 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtPropertyDelegationMethodsReferenceFirImpl.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirPropertyDelegationMethodsReference.kt @@ -11,18 +11,18 @@ import org.jetbrains.kotlin.fir.expressions.FirFunctionCall import org.jetbrains.kotlin.fir.expressions.FirReturnExpression import org.jetbrains.kotlin.fir.expressions.FirStatement import org.jetbrains.kotlin.idea.fir.* -import org.jetbrains.kotlin.idea.frontend.api.FrontendAnalysisSession -import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.fir.KtFirAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.fir.buildSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.psi.KtPropertyDelegate -class KtPropertyDelegationMethodsReferenceFirImpl( +class KtFirPropertyDelegationMethodsReference( element: KtPropertyDelegate -) : KtPropertyDelegationMethodsReference(element), FirKtReference { - override fun resolveToSymbols(analysisSession: FrontendAnalysisSession): Collection { - check(analysisSession is FirAnalysisSession) +) : KtPropertyDelegationMethodsReference(element), KtFirReference { + override fun resolveToSymbols(analysisSession: KtAnalysisSession): Collection { + check(analysisSession is KtFirAnalysisSession) val property = (expression.parent as? KtElement)?.getOrBuildFirSafe() ?: return emptyList() if (property.delegate == null) return emptyList() val getValueSymbol = (property.getter?.singleStatementOfType()?.result as? FirFunctionCall)?.getCalleeSymbol() diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirKtReference.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirReference.kt similarity index 62% rename from idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirKtReference.kt rename to idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirReference.kt index 3cee9511285..8692e244699 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirKtReference.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirReference.kt @@ -6,13 +6,13 @@ package org.jetbrains.kotlin.idea.references import com.intellij.psi.PsiElement -import org.jetbrains.kotlin.idea.frontend.api.FrontendAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol -interface FirKtReference : KtReference { - fun resolveToSymbols(analysisSession: FrontendAnalysisSession): Collection +interface KtFirReference : KtReference { + fun resolveToSymbols(analysisSession: KtAnalysisSession): Collection - fun getResolvedToPsi(analysisSession: FrontendAnalysisSession): Collection = + fun getResolvedToPsi(analysisSession: KtAnalysisSession): Collection = resolveToSymbols(analysisSession).mapNotNull(KtSymbol::psi) override val resolver get() = KtFirReferenceResolver diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirReferenceResolver.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirReferenceResolver.kt index 33cbd7a9bfd..b63774a0872 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirReferenceResolver.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirReferenceResolver.kt @@ -11,18 +11,18 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiElementResolveResult import com.intellij.psi.ResolveResult import com.intellij.psi.impl.source.resolve.ResolveCache -import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.fir.KtFirAnalysisSession object KtFirReferenceResolver : ResolveCache.PolyVariantResolver { class KotlinResolveResult(element: PsiElement) : PsiElementResolveResult(element) override fun resolve(ref: KtReference, incompleteCode: Boolean): Array { - check(ref is FirKtReference) { "reference should be FirKtReference, but was ${ref::class}" } + check(ref is KtFirReference) { "reference should be FirKtReference, but was ${ref::class}" } check(ref is AbstractKtReference<*>) { "reference should be AbstractKtReference, but was ${ref::class}" } if (ApplicationManager.getApplication().isDispatchThread) { throw ProcessCanceledException() } - val analysisSession = FirAnalysisSession(ref.expression) + val analysisSession = KtFirAnalysisSession(ref.expression) val resolveToPsiElements = ref.getResolvedToPsi(analysisSession) return resolveToPsiElements.map { KotlinResolveResult(it) }.toTypedArray() } diff --git a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/fir/AbstractResolveCallTest.kt b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/fir/AbstractResolveCallTest.kt index 8f500be16eb..914e8a3269d 100644 --- a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/fir/AbstractResolveCallTest.kt +++ b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/fir/AbstractResolveCallTest.kt @@ -39,7 +39,7 @@ abstract class AbstractResolveCallTest : @Suppress("DEPRECATION") KotlinLightCod } val actualText = executeOnPooledThreadInReadAction { - val analysisSession = FirAnalysisSession(file as KtFile) + val analysisSession = KtFirAnalysisSession(file as KtFile) val callInfos = elements.map { element -> when (element) { is KtCallExpression -> analysisSession.resolveCall(element) diff --git a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/AbstractSymbolsByPsiBuildingTest.kt b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/AbstractSymbolsByPsiBuildingTest.kt index ec668d14368..a9a35b079b4 100644 --- a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/AbstractSymbolsByPsiBuildingTest.kt +++ b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/frontend/api/symbols/AbstractSymbolsByPsiBuildingTest.kt @@ -6,10 +6,9 @@ package org.jetbrains.kotlin.idea.frontend.api.symbols import com.intellij.openapi.util.io.FileUtil -import com.intellij.psi.PsiRecursiveElementWalkingVisitor import org.jetbrains.kotlin.idea.addExternalTestFiles import org.jetbrains.kotlin.idea.executeOnPooledThreadInReadAction -import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.fir.KtFirAnalysisSession import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtFile @@ -24,7 +23,7 @@ abstract class AbstractSymbolsByPsiBuildingTest : KotlinLightCodeInsightFixtureT val ktFile = myFixture.configureByText(file.name, FileUtil.loadFile(file)) as KtFile val renderedSymbols = executeOnPooledThreadInReadAction { - val analysisSession = FirAnalysisSession(ktFile) + val analysisSession = KtFirAnalysisSession(ktFile) val declarationSymbols = ktFile.collectDescendantsOfType().map { declaration -> analysisSession.symbolProvider.getSymbol(declaration) }