K2: Adjust Analysis API to the recent scope structure changes

Namely, in the previous commit we merged two
(LOW and HIGH priority default start import scopes) into the single one

For more explanations, please look at the previous commit
This commit is contained in:
Denis.Zharkov
2023-06-22 12:59:21 +02:00
committed by Space Team
parent 01354c8ce5
commit 78e2d53f3c
23 changed files with 94 additions and 81 deletions
@@ -233,6 +233,7 @@ internal class KtFirScopeProvider(
return when (firScope) {
is FirAbstractSimpleImportingScope -> KtFirNonStarImportingScope(firScope, builder)
is FirAbstractStarImportingScope -> KtFirStarImportingScope(firScope, analysisSession)
is FirDefaultStarImportingScope -> KtFirDefaultStarImportingScope(firScope, analysisSession)
is FirPackageMemberScope -> createPackageScope(firScope.fqName)
is FirContainingNamesAwareScope -> KtFirDelegatingNamesAwareScope(firScope, builder)
else -> TODO(firScope::class.toString())
@@ -0,0 +1,39 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.analysis.api.fir.scopes
import org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSession
import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion
import org.jetbrains.kotlin.analysis.api.scopes.KtScopeNameFilter
import org.jetbrains.kotlin.analysis.api.symbols.KtConstructorSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtPackageSymbol
import org.jetbrains.kotlin.fir.scopes.impl.FirDefaultStarImportingScope
import org.jetbrains.kotlin.name.Name
internal class KtFirDefaultStarImportingScope(
firScope: FirDefaultStarImportingScope,
analysisSession: KtFirAnalysisSession,
) : KtFirBasedScope<FirDefaultStarImportingScope>(firScope, analysisSession.firSymbolBuilder) {
private val firstWrappedScope = KtFirStarImportingScope(firScope.first, analysisSession)
private val secondWrappedScope = KtFirStarImportingScope(firScope.second, analysisSession)
override fun getPackageSymbols(nameFilter: KtScopeNameFilter): Sequence<KtPackageSymbol> = withValidityAssertion {
emptySequence()
}
override fun getConstructors(): Sequence<KtConstructorSymbol> = withValidityAssertion { emptySequence() }
override fun getPossibleCallableNames(): Set<Name> = buildSet {
addAll(firstWrappedScope.getPossibleCallableNames())
addAll(secondWrappedScope.getPossibleCallableNames())
}
override fun getPossibleClassifierNames(): Set<Name> = buildSet {
addAll(firstWrappedScope.getPossibleClassifierNames())
addAll(secondWrappedScope.getPossibleClassifierNames())
}
}
@@ -2,16 +2,15 @@ implicit receivers:
scopes:
DefaultStarImportingScope, index = 0
DefaultStarImportingScope, index = 1
DefaultSimpleImportingScope, index = 1
DefaultSimpleImportingScope, index = 2
ExplicitStarImportingScope, index = 2, empty
ExplicitStarImportingScope, index = 3, empty
DefaultSimpleImportingScope, index = 3
DefaultSimpleImportingScope, index = 4
DefaultSimpleImportingScope, index = 5
PackageMemberScope, index = 5
PackageMemberScope, index = 6
ExplicitSimpleImportingScope, index = 6, empty
ExplicitSimpleImportingScope, index = 7, empty
@@ -2,17 +2,16 @@ implicit receivers:
scopes:
DefaultStarImportingScope, index = 0
DefaultStarImportingScope, index = 1
DefaultSimpleImportingScope, index = 1
DefaultSimpleImportingScope, index = 2
ExplicitStarImportingScope, index = 2, empty
ExplicitStarImportingScope, index = 3, empty
DefaultSimpleImportingScope, index = 3
DefaultSimpleImportingScope, index = 4
DefaultSimpleImportingScope, index = 5
PackageMemberScope, index = 5
PackageMemberScope, index = 6
ExplicitSimpleImportingScope, index = 6, empty
ExplicitSimpleImportingScope, index = 7, empty
@@ -2,19 +2,17 @@ implicit receivers:
scopes:
DefaultStarImportingScope, index = 0
DefaultStarImportingScope, index = 1
DefaultSimpleImportingScope, index = 1
DefaultSimpleImportingScope, index = 2
ExplicitStarImportingScope, index = 2, empty
ExplicitStarImportingScope, index = 3, empty
DefaultSimpleImportingScope, index = 3
DefaultSimpleImportingScope, index = 4
DefaultSimpleImportingScope, index = 5
PackageMemberScope, index = 5
PackageMemberScope, index = 6
ExplicitSimpleImportingScope, index = 7
ExplicitSimpleImportingScope, index = 6
classifiers: 1
class A
callables: 0
@@ -2,19 +2,17 @@ implicit receivers:
scopes:
DefaultStarImportingScope, index = 0
DefaultStarImportingScope, index = 1
DefaultSimpleImportingScope, index = 1
DefaultSimpleImportingScope, index = 2
ExplicitStarImportingScope, index = 2, empty
ExplicitStarImportingScope, index = 3, empty
DefaultSimpleImportingScope, index = 3
DefaultSimpleImportingScope, index = 4
DefaultSimpleImportingScope, index = 5
PackageMemberScope, index = 5
PackageMemberScope, index = 6
ExplicitSimpleImportingScope, index = 7
ExplicitSimpleImportingScope, index = 6
classifiers: 1
KtNamedClassOrObjectSymbol:
annotationsList: []
@@ -2,16 +2,15 @@ implicit receivers:
scopes:
DefaultStarImportingScope, index = 0
DefaultStarImportingScope, index = 1
DefaultSimpleImportingScope, index = 1
DefaultSimpleImportingScope, index = 2
ExplicitStarImportingScope, index = 2, empty
ExplicitStarImportingScope, index = 3, empty
DefaultSimpleImportingScope, index = 3
DefaultSimpleImportingScope, index = 4
DefaultSimpleImportingScope, index = 5
PackageMemberScope, index = 5
PackageMemberScope, index = 6
ExplicitSimpleImportingScope, index = 6, empty
ExplicitSimpleImportingScope, index = 7, empty
@@ -2,17 +2,16 @@ implicit receivers:
scopes:
DefaultStarImportingScope, index = 0
DefaultStarImportingScope, index = 1
DefaultSimpleImportingScope, index = 1
DefaultSimpleImportingScope, index = 2
ExplicitStarImportingScope, index = 2, empty
ExplicitStarImportingScope, index = 3, empty
DefaultSimpleImportingScope, index = 3
DefaultSimpleImportingScope, index = 4
DefaultSimpleImportingScope, index = 5
PackageMemberScope, index = 5
PackageMemberScope, index = 6
ExplicitSimpleImportingScope, index = 6, empty
ExplicitSimpleImportingScope, index = 7, empty
@@ -2,19 +2,17 @@ implicit receivers:
scopes:
DefaultStarImportingScope, index = 0
DefaultStarImportingScope, index = 1
DefaultSimpleImportingScope, index = 1
DefaultSimpleImportingScope, index = 2
ExplicitStarImportingScope, index = 2, empty
ExplicitStarImportingScope, index = 3, empty
DefaultSimpleImportingScope, index = 3
DefaultSimpleImportingScope, index = 4
DefaultSimpleImportingScope, index = 5
PackageMemberScope, index = 5
PackageMemberScope, index = 6
ExplicitSimpleImportingScope, index = 7
ExplicitSimpleImportingScope, index = 6
classifiers: 1
class A
callables: 0
@@ -2,19 +2,17 @@ implicit receivers:
scopes:
DefaultStarImportingScope, index = 0
DefaultStarImportingScope, index = 1
DefaultSimpleImportingScope, index = 1
DefaultSimpleImportingScope, index = 2
ExplicitStarImportingScope, index = 2, empty
ExplicitStarImportingScope, index = 3, empty
DefaultSimpleImportingScope, index = 3
DefaultSimpleImportingScope, index = 4
DefaultSimpleImportingScope, index = 5
PackageMemberScope, index = 5
PackageMemberScope, index = 6
ExplicitSimpleImportingScope, index = 7
ExplicitSimpleImportingScope, index = 6
classifiers: 1
KtNamedClassOrObjectSymbol:
annotationsList: []
@@ -2,20 +2,19 @@ implicit receivers:
scopes:
DefaultStarImportingScope, index = 0
DefaultStarImportingScope, index = 1
DefaultSimpleImportingScope, index = 1
DefaultSimpleImportingScope, index = 2
ExplicitStarImportingScope, index = 3
ExplicitStarImportingScope, index = 2
classifiers: 1
class A
callables: 1
fun b()
DefaultSimpleImportingScope, index = 3
DefaultSimpleImportingScope, index = 4
DefaultSimpleImportingScope, index = 5
PackageMemberScope, index = 5
PackageMemberScope, index = 6
ExplicitSimpleImportingScope, index = 6, empty
ExplicitSimpleImportingScope, index = 7, empty
@@ -2,11 +2,9 @@ implicit receivers:
scopes:
DefaultStarImportingScope, index = 0
DefaultStarImportingScope, index = 1
DefaultSimpleImportingScope, index = 1
DefaultSimpleImportingScope, index = 2
ExplicitStarImportingScope, index = 3
ExplicitStarImportingScope, index = 2
classifiers: 1
KtNamedClassOrObjectSymbol:
annotationsList: []
@@ -60,11 +58,12 @@ scopes:
valueParameters: []
visibility: Public
DefaultSimpleImportingScope, index = 3
DefaultSimpleImportingScope, index = 4
DefaultSimpleImportingScope, index = 5
PackageMemberScope, index = 5
PackageMemberScope, index = 6
ExplicitSimpleImportingScope, index = 6, empty
ExplicitSimpleImportingScope, index = 7, empty
@@ -35,4 +35,3 @@ scopes:
DefaultStarImportingScope, index = 9
DefaultStarImportingScope, index = 10
@@ -217,4 +217,3 @@ scopes:
DefaultStarImportingScope, index = 9
DefaultStarImportingScope, index = 10
@@ -64,4 +64,3 @@ scopes:
DefaultStarImportingScope, index = 12
DefaultStarImportingScope, index = 13
@@ -792,4 +792,3 @@ scopes:
DefaultStarImportingScope, index = 12
DefaultStarImportingScope, index = 13
@@ -47,4 +47,3 @@ scopes:
DefaultStarImportingScope, index = 13
DefaultStarImportingScope, index = 14
@@ -363,4 +363,3 @@ scopes:
DefaultStarImportingScope, index = 13
DefaultStarImportingScope, index = 14
@@ -45,5 +45,3 @@ scopes:
DefaultStarImportingScope, index = 11
DefaultStarImportingScope, index = 12
@@ -312,5 +312,3 @@ scopes:
DefaultStarImportingScope, index = 11
DefaultStarImportingScope, index = 12
@@ -101,5 +101,4 @@ scopes:
DefaultStarImportingScope, index = 19
DefaultStarImportingScope, index = 20
@@ -955,5 +955,3 @@ scopes:
DefaultStarImportingScope, index = 19
DefaultStarImportingScope, index = 20
@@ -16,8 +16,8 @@ import org.jetbrains.kotlin.name.Name
* @see org.jetbrains.kotlin.resolve.lazy.LazyImportScope that produces similar semantics
*/
class FirDefaultStarImportingScope(
private val first: FirSingleLevelDefaultStarImportingScope,
private val second: FirSingleLevelDefaultStarImportingScope,
val first: FirSingleLevelDefaultStarImportingScope,
val second: FirSingleLevelDefaultStarImportingScope,
) : FirScope(), DefaultStarImportingScopeMarker {
override fun processClassifiersByNameWithSubstitution(name: Name, processor: (FirClassifierSymbol<*>, ConeSubstitutor) -> Unit) {
var wasFoundAny = false