FIR IDE: rename AnalysisSessionFirImpl -> FirAnalysisSession
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
+2
-2
@@ -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<KotlinTypeMarker>? {
|
||||
// TODO filter out not used smartcasts
|
||||
return (expression.toFir() as? FirExpressionWithSmartcast)?.typesFromSmartCast
|
||||
return expression.getOrBuildFirSafe<FirExpressionWithSmartcast>()?.typesFromSmartCast
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
@@ -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<PsiElement>
|
||||
fun getResolvedToPsi(analysisSession: FirAnalysisSession): Collection<PsiElement>
|
||||
|
||||
override val resolver get() = KtFirReferenceResolver
|
||||
}
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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<PsiElement> {
|
||||
val fir = expression.getOrBuildFirSafe<FirProperty>() ?: return emptyList()
|
||||
val componentFunctionSymbol = (fir.initializer as? FirComponentCall)?.getCalleeSymbol() ?: return emptyList()
|
||||
|
||||
+2
-2
@@ -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<KtReference> {
|
||||
class KotlinResolveResult(element: PsiElement) : PsiElementResolveResult(element)
|
||||
@@ -17,7 +17,7 @@ object KtFirReferenceResolver : ResolveCache.PolyVariantResolver<KtReference> {
|
||||
override fun resolve(ref: KtReference, incompleteCode: Boolean): Array<ResolveResult> {
|
||||
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()
|
||||
}
|
||||
|
||||
+2
-3
@@ -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<PsiElement> {
|
||||
val firLoop = expression.getOrBuildFirSafe<FirWhileLoop>() ?: return emptyList()
|
||||
val condition = firLoop.condition as? FirFunctionCall
|
||||
|
||||
+2
-2
@@ -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<PsiElement> {
|
||||
override fun getResolvedToPsi(analysisSession: FirAnalysisSession): Collection<PsiElement> {
|
||||
val call = analysisSession.resolveCall(expression) ?: return emptyList()
|
||||
if (call is VariableAsFunctionLikeCallInfo) {
|
||||
return listOf(call.invokeFunction)
|
||||
|
||||
+2
-2
@@ -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<PsiElement> {
|
||||
val property = (expression.parent as? KtElement)?.getOrBuildFirSafe<FirProperty>() ?: return emptyList()
|
||||
if (property.delegate == null) return emptyList()
|
||||
|
||||
Reference in New Issue
Block a user