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 588f7669d85..1c797b9face 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 @@ -10,7 +10,7 @@ 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.AnalysisSessionFirImpl +import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession import org.jetbrains.kotlin.idea.highlighter.AbstractKotlinPsiChecker import org.jetbrains.kotlin.idea.highlighter.Diagnostic2Annotation import org.jetbrains.kotlin.idea.highlighter.IdeErrorMessages @@ -24,7 +24,7 @@ class KotlinFirPsiChecker : AbstractKotlinPsiChecker() { override fun annotateElement(element: PsiElement, containingFile: KtFile, holder: AnnotationHolder) { if (element !is KtElement) return - val analysisSession = AnalysisSessionFirImpl() + val analysisSession = FirAnalysisSession() highlightDiagnostics(element, analysisSession, holder) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/AnalysisSessionFirImpl.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/FirAnalysisSession.kt similarity index 97% rename from idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/AnalysisSessionFirImpl.kt rename to idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/FirAnalysisSession.kt index b30c6243b24..bb967ac65bd 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/AnalysisSessionFirImpl.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/FirAnalysisSession.kt @@ -29,11 +29,11 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.types.model.KotlinTypeMarker -class AnalysisSessionFirImpl : FrontendAnalysisSession() { +class FirAnalysisSession : FrontendAnalysisSession() { override fun getSmartCastedToTypes(expression: KtExpression): Collection? { // TODO filter out not used smartcasts - return (expression.toFir() as? FirExpressionWithSmartcast)?.typesFromSmartCast + return expression.getOrBuildFirSafe()?.typesFromSmartCast } @OptIn(ExperimentalStdlibApi::class) 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/FirKtReference.kt index 702e997d76a..d0436615086 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/FirKtReference.kt @@ -6,10 +6,10 @@ package org.jetbrains.kotlin.idea.references import com.intellij.psi.PsiElement -import org.jetbrains.kotlin.idea.frontend.api.fir.AnalysisSessionFirImpl +import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession interface FirKtReference : KtReference { - fun getResolvedToPsi(analysisSession: AnalysisSessionFirImpl): Collection + fun getResolvedToPsi(analysisSession: FirAnalysisSession): Collection override val resolver get() = KtFirReferenceResolver } \ No newline at end of file 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 4ca1aed037e..c6ee60de467 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,7 +6,7 @@ package org.jetbrains.kotlin.idea.references import com.intellij.psi.PsiElement -import org.jetbrains.kotlin.idea.frontend.api.fir.AnalysisSessionFirImpl +import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtImportAlias import org.jetbrains.kotlin.psi.KtSimpleNameExpression @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.psi.KtSimpleNameExpression internal class KtSimpleNameReferenceFirImpl( expression: KtSimpleNameExpression ) : KtSimpleNameReference(expression), FirKtReference { - override fun getResolvedToPsi(analysisSession: AnalysisSessionFirImpl) = FirReferenceResolveHelper.resolveSimpleNameReference(this) + override fun getResolvedToPsi(analysisSession: FirAnalysisSession) = FirReferenceResolveHelper.resolveSimpleNameReference(this) override fun doCanBeReferenceTo(candidateTarget: PsiElement): Boolean { return true // TODO 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/KtDestructuringDeclarationReferenceFirImpl.kt index bb538d86ee1..8ef0199d634 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/KtDestructuringDeclarationReferenceFirImpl.kt @@ -9,7 +9,7 @@ import com.intellij.psi.PsiElement import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.expressions.FirComponentCall import org.jetbrains.kotlin.idea.fir.* -import org.jetbrains.kotlin.idea.frontend.api.fir.AnalysisSessionFirImpl +import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession import org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry class KtDestructuringDeclarationReferenceFirImpl( @@ -18,7 +18,7 @@ class KtDestructuringDeclarationReferenceFirImpl( override fun canRename(): Boolean = false //todo override fun getResolvedToPsi( - analysisSession: AnalysisSessionFirImpl + analysisSession: FirAnalysisSession ): Collection { val fir = expression.getOrBuildFirSafe() ?: return emptyList() val componentFunctionSymbol = (fir.initializer as? FirComponentCall)?.getCalleeSymbol() ?: return emptyList() 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 ef778a18053..aca39a80e2b 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 @@ -9,7 +9,7 @@ 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.AnalysisSessionFirImpl +import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession object KtFirReferenceResolver : ResolveCache.PolyVariantResolver { class KotlinResolveResult(element: PsiElement) : PsiElementResolveResult(element) @@ -17,7 +17,7 @@ object KtFirReferenceResolver : ResolveCache.PolyVariantResolver { override fun resolve(ref: KtReference, incompleteCode: Boolean): Array { check(ref is FirKtReference) { "reference should be FirKtReference, but was ${ref::class}" } check(ref is AbstractKtReference<*>) { "reference should be AbstractKtReference, but was ${ref::class}" } - val analysisSession = AnalysisSessionFirImpl() + val analysisSession = FirAnalysisSession() val resolveToPsiElements = ref.getResolvedToPsi(analysisSession) return resolveToPsiElements.map { KotlinResolveResult(it) }.toTypedArray() } 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/KtForLoopInReferenceFirImpl.kt index 749306fb477..9d9f008b8a4 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/KtForLoopInReferenceFirImpl.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.idea.references import com.intellij.psi.PsiElement -import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.expressions.FirFunctionCall import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression @@ -14,12 +13,12 @@ import org.jetbrains.kotlin.fir.expressions.FirWhileLoop import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.getOrBuildFirSafe import org.jetbrains.kotlin.idea.fir.getResolvedSymbolOfNameReference -import org.jetbrains.kotlin.idea.frontend.api.fir.AnalysisSessionFirImpl +import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession import org.jetbrains.kotlin.psi.KtForExpression open class KtForLoopInReferenceFirImpl(expression: KtForExpression) : KtForLoopInReference(expression), FirKtReference { override fun getResolvedToPsi( - analysisSession: AnalysisSessionFirImpl + analysisSession: FirAnalysisSession ): Collection { val firLoop = expression.getOrBuildFirSafe() ?: return emptyList() val condition = firLoop.condition as? FirFunctionCall 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/KtInvokeFunctionReferenceFirImpl.kt index 8b9a33a0ff4..f419b55f484 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/KtInvokeFunctionReferenceFirImpl.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.idea.references import com.intellij.psi.PsiElement import org.jetbrains.kotlin.idea.frontend.api.VariableAsFunctionLikeCallInfo -import org.jetbrains.kotlin.idea.frontend.api.fir.AnalysisSessionFirImpl +import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtExpression @@ -16,7 +16,7 @@ class KtInvokeFunctionReferenceFirImpl(expression: KtCallExpression) : KtInvokeF TODO("Not yet implemented") } - override fun getResolvedToPsi(analysisSession: AnalysisSessionFirImpl): Collection { + override fun getResolvedToPsi(analysisSession: FirAnalysisSession): 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/KtPropertyDelegationMethodsReferenceFirImpl.kt index 8d695f746be..17d60187d1b 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/KtPropertyDelegationMethodsReferenceFirImpl.kt @@ -12,7 +12,7 @@ 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.fir.AnalysisSessionFirImpl +import org.jetbrains.kotlin.idea.frontend.api.fir.FirAnalysisSession import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.psi.KtPropertyDelegate @@ -20,7 +20,7 @@ class KtPropertyDelegationMethodsReferenceFirImpl( element: KtPropertyDelegate ) : KtPropertyDelegationMethodsReference(element), FirKtReference { override fun getResolvedToPsi( - analysisSession: AnalysisSessionFirImpl + analysisSession: FirAnalysisSession ): Collection { val property = (expression.parent as? KtElement)?.getOrBuildFirSafe() ?: return emptyList() if (property.delegate == null) return emptyList()