diff --git a/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/checkers/CompletionVisibilityChecker.kt b/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/checkers/CompletionVisibilityChecker.kt index 9cfe2376c0d..039a5a2a67b 100644 --- a/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/checkers/CompletionVisibilityChecker.kt +++ b/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/checkers/CompletionVisibilityChecker.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.idea.completion.checkers import org.jetbrains.kotlin.idea.completion.context.FirBasicCompletionContext -import org.jetbrains.kotlin.idea.completion.context.FirNameReferenceRawPositionContext +import org.jetbrains.kotlin.idea.completion.context.FirNameReferencePositionContext import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.symbols.KtCallableSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.KtClassifierSymbol @@ -26,7 +26,7 @@ internal fun interface CompletionVisibilityChecker { companion object { fun create( basicContext: FirBasicCompletionContext, - positionContext: FirNameReferenceRawPositionContext + positionContext: FirNameReferencePositionContext ): CompletionVisibilityChecker = CompletionVisibilityChecker { basicContext.parameters.invocationCount > 1 || isVisible( it, diff --git a/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirClassifierCompletionContributor.kt b/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirClassifierCompletionContributor.kt index 96a2bfbcdea..6422bf1b957 100644 --- a/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirClassifierCompletionContributor.kt +++ b/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirClassifierCompletionContributor.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.idea.completion.contributors import org.jetbrains.kotlin.idea.completion.checkers.CompletionVisibilityChecker import org.jetbrains.kotlin.idea.completion.context.FirBasicCompletionContext -import org.jetbrains.kotlin.idea.completion.context.FirNameReferenceRawPositionContext +import org.jetbrains.kotlin.idea.completion.context.FirNameReferencePositionContext import org.jetbrains.kotlin.idea.completion.contributors.helpers.getStaticScope import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.symbols.* @@ -17,11 +17,11 @@ import org.jetbrains.kotlin.psi.KtExpression internal open class FirClassifierCompletionContributor( basicContext: FirBasicCompletionContext, -) : FirContextCompletionContributorBase(basicContext) { +) : FirContextCompletionContributorBase(basicContext) { protected open fun KtAnalysisSession.filterClassifiers(classifierSymbol: KtClassifierSymbol): Boolean = true - override fun KtAnalysisSession.complete(positionContext: FirNameReferenceRawPositionContext) { + override fun KtAnalysisSession.complete(positionContext: FirNameReferencePositionContext) { val visibilityChecker = CompletionVisibilityChecker.create(basicContext, positionContext) when (val receiver = positionContext.explicitReceiver) { @@ -48,7 +48,7 @@ internal open class FirClassifierCompletionContributor( } private fun KtAnalysisSession.completeWithoutReceiver( - positionContext: FirNameReferenceRawPositionContext, + positionContext: FirNameReferencePositionContext, visibilityChecker: CompletionVisibilityChecker ) { val implicitScopes = originalKtFile.getScopeContextForPosition(positionContext.nameExpression).scopes diff --git a/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirContextCompletionContributorBase.kt b/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirContextCompletionContributorBase.kt index f64867dea2f..84f73834f99 100644 --- a/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirContextCompletionContributorBase.kt +++ b/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirContextCompletionContributorBase.kt @@ -6,12 +6,12 @@ package org.jetbrains.kotlin.idea.completion.contributors import org.jetbrains.kotlin.idea.completion.context.FirBasicCompletionContext -import org.jetbrains.kotlin.idea.completion.context.FirNameReferenceRawPositionContext +import org.jetbrains.kotlin.idea.completion.context.FirNameReferencePositionContext import org.jetbrains.kotlin.idea.completion.context.FirRawPositionCompletionContext import org.jetbrains.kotlin.idea.fir.low.level.api.IndexHelper import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.scopes.KtScopeNameFilter -internal abstract class FirContextCompletionContributorBase( +internal abstract class FirContextCompletionContributorBase( basicContext: FirBasicCompletionContext ) : FirCompletionContributorBase(basicContext) \ No newline at end of file diff --git a/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirPackageCompletionContributor.kt b/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirPackageCompletionContributor.kt index 9e02e02b628..10e8d62a26f 100644 --- a/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirPackageCompletionContributor.kt +++ b/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirPackageCompletionContributor.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.idea.completion.contributors import org.jetbrains.kotlin.idea.completion.context.FirBasicCompletionContext -import org.jetbrains.kotlin.idea.completion.context.FirNameReferenceRawPositionContext +import org.jetbrains.kotlin.idea.completion.context.FirNameReferencePositionContext import org.jetbrains.kotlin.idea.completion.context.FirRawPositionCompletionContext import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPackageSymbol @@ -18,7 +18,7 @@ internal class FirPackageCompletionContributor( ) : FirCompletionContributorBase(basicContext) { override fun KtAnalysisSession.complete(positionContext: FirRawPositionCompletionContext) { - val rootSymbol = if (positionContext !is FirNameReferenceRawPositionContext || positionContext.explicitReceiver == null) { + val rootSymbol = if (positionContext !is FirNameReferencePositionContext || positionContext.explicitReceiver == null) { ROOT_PACKAGE_SYMBOL } else { positionContext.explicitReceiver?.reference()?.resolveToSymbol() as? KtPackageSymbol diff --git a/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirSuperEntryContributor.kt b/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirSuperEntryContributor.kt index 11047e69111..c6f315b5e92 100644 --- a/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirSuperEntryContributor.kt +++ b/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirSuperEntryContributor.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.idea.completion.contributors import com.intellij.codeInsight.lookup.LookupElementBuilder import org.jetbrains.kotlin.idea.completion.context.FirBasicCompletionContext -import org.jetbrains.kotlin.idea.completion.context.FirSuperTypeCallNameReferenceRawPositionContext +import org.jetbrains.kotlin.idea.completion.context.FirSuperTypeCallNameReferencePositionContext import org.jetbrains.kotlin.idea.completion.contributors.helpers.FirSuperEntriesProvider.getSuperClassesAvailableForSuperCall import org.jetbrains.kotlin.idea.completion.contributors.helpers.SuperCallLookupObject import org.jetbrains.kotlin.idea.completion.contributors.helpers.SuperCallInsertionHandler @@ -18,8 +18,8 @@ import org.jetbrains.kotlin.name.Name internal class FirSuperEntryContributor( basicContext: FirBasicCompletionContext, -) : FirContextCompletionContributorBase(basicContext) { - override fun KtAnalysisSession.complete(positionContext: FirSuperTypeCallNameReferenceRawPositionContext) { +) : FirContextCompletionContributorBase(basicContext) { + override fun KtAnalysisSession.complete(positionContext: FirSuperTypeCallNameReferencePositionContext) { getSuperClassesAvailableForSuperCall(positionContext.nameExpression).forEach { superType -> val tailText = superType.classIdIfNonLocal?.asString()?.let { "($it)" } LookupElementBuilder.create(SuperLookupObject(superType.name, superType.classIdIfNonLocal), superType.name.asString())