[FIR] Inherit FirContainingNamesAwareScope from FirScope

This is needed to simplify FirScope hierarchy, because in
  fact all inheritors of `FirContainingNamesAwareScope` were
  inheritors of `FirScope` too
This commit is contained in:
Dmitriy Novozhilov
2021-09-28 12:53:32 +03:00
committed by TeamCityServer
parent f3a9d70eb6
commit 9bfa6c54b8
20 changed files with 32 additions and 39 deletions
@@ -199,8 +199,8 @@ internal class KtFirScopeProvider(
}
}
private class KtFirDelegatingScopeImpl<S>(
private class KtFirDelegatingScopeImpl<S : FirContainingNamesAwareScope>(
override val firScope: S,
builder: KtSymbolByFirBuilder,
token: ValidityToken
) : KtFirDelegatingScope<S>(builder, token), ValidityTokenOwner where S : FirContainingNamesAwareScope, S : FirScope
) : KtFirDelegatingScope<S>(builder, token), ValidityTokenOwner
@@ -21,10 +21,10 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtConstructorSymbol
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.name.Name
internal abstract class KtFirDelegatingScope<S>(
internal abstract class KtFirDelegatingScope<S : FirContainingNamesAwareScope>(
private val builder: KtSymbolByFirBuilder,
final override val token: ValidityToken
) : KtScope where S : FirContainingNamesAwareScope, S : FirScope {
) : KtScope {
abstract val firScope: S
@@ -79,11 +79,11 @@ internal fun FirScope.getCallableSymbols(callableNames: Collection<Name>, builde
}
}
internal class KtFirDelegatingScopeImpl<S>(
internal class KtFirDelegatingScopeImpl<S : FirContainingNamesAwareScope>(
override val firScope: S,
builder: KtSymbolByFirBuilder,
token: ValidityToken
) : KtFirDelegatingScope<S>(builder, token) where S : FirContainingNamesAwareScope, S : FirScope
) : KtFirDelegatingScope<S>(builder, token)
internal fun FirScope.getClassifierSymbols(classLikeNames: Collection<Name>, builder: KtSymbolByFirBuilder): Sequence<KtClassifierSymbol> =
@@ -104,4 +104,4 @@ internal fun FirScope.getConstructors(builder: KtSymbolByFirBuilder): Sequence<K
constructorSymbols.add(builder.functionLikeBuilder.buildConstructorSymbol(firSymbol.fir))
}
yieldAll(constructorSymbols)
}
}