FIR: get rid of symbolProvider.getClassDeclaredMemberScope at all

This commit is contained in:
Mikhail Glukhikh
2019-12-12 12:45:10 +03:00
parent af87a183c2
commit 663d545d79
9 changed files with 8 additions and 34 deletions
@@ -64,12 +64,6 @@ class JavaSymbolProvider(
override fun getTopLevelCallableSymbols(packageFqName: FqName, name: Name): List<FirCallableSymbol<*>> =
emptyList()
// NB: looks like it's better not to use this function at all...
override fun getClassDeclaredMemberScope(classId: ClassId): FirScope? {
// Anyway we cannot build correct declared member scope here
return null
}
override fun getClassUseSiteMemberScope(
classId: ClassId,
useSiteSession: FirSession,
@@ -29,7 +29,6 @@ import org.jetbrains.kotlin.fir.references.impl.FirErrorNamedReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedNamedReferenceImpl
import org.jetbrains.kotlin.fir.resolve.*
import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.impl.declaredMemberScope
import org.jetbrains.kotlin.fir.symbols.impl.*
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
import org.jetbrains.kotlin.fir.types.impl.FirErrorTypeRefImpl
@@ -393,11 +392,6 @@ class KotlinDeserializedJvmSymbolsProvider(
}
}
override fun getClassDeclaredMemberScope(classId: ClassId) =
findRegularClass(classId)?.let {
declaredMemberScope(it)
}
private fun getPackageParts(packageFqName: FqName): Collection<PackagePartsCacheData> {
return packagePartsCache.getOrPut(packageFqName) {
try {
@@ -53,7 +53,6 @@ abstract class FirSymbolProvider : FirSessionComponent {
abstract fun getTopLevelCallableSymbols(packageFqName: FqName, name: Name): List<FirCallableSymbol<*>>
abstract fun getClassDeclaredMemberScope(classId: ClassId): FirScope?
abstract fun getClassUseSiteMemberScope(
classId: ClassId,
useSiteSession: FirSession,
@@ -29,8 +29,6 @@ class FirCompositeSymbolProvider(val providers: List<FirSymbolProvider>) : FirSy
return providers.flatMap { it.getTopLevelCallableSymbols(packageFqName, name) }
}
override fun getClassDeclaredMemberScope(classId: ClassId) = providers.firstNotNullResult { it.getClassDeclaredMemberScope(classId) }
override fun getPackage(fqName: FqName): FqName? {
return providers.firstNotNullResult { it.getPackage(fqName) }
}
@@ -33,9 +33,6 @@ class FirDependenciesSymbolProviderImpl(val session: FirSession) : AbstractFirSy
} ?: emptyList()
}
override fun getClassDeclaredMemberScope(classId: ClassId) =
dependencyProviders.firstNotNullResult { it.getClassDeclaredMemberScope(classId) }
override fun getClassLikeSymbolByFqName(classId: ClassId): FirClassLikeSymbol<*>? {
return classCache.lookupCacheOrCalculate(classId) {
for (provider in dependencyProviders) {
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.resolve.getOrPut
import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.impl.FirClassDeclaredMemberScope
import org.jetbrains.kotlin.fir.symbols.CallableId
import org.jetbrains.kotlin.fir.symbols.impl.*
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
@@ -265,9 +264,6 @@ class FirLibrarySymbolProviderImpl(val session: FirSession) : FirSymbolProvider(
} ?: emptyList()
}
override fun getClassDeclaredMemberScope(classId: ClassId): FirScope? =
findRegularClass(classId)?.let(::FirClassDeclaredMemberScope)
override fun getAllCallableNamesInPackage(fqName: FqName): Set<Name> {
return allPackageFragments[fqName]?.flatMapTo(mutableSetOf()) {
it.getAllCallableNames()
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.resolve.FirProvider
import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.impl.FirClassDeclaredMemberScope
import org.jetbrains.kotlin.fir.symbols.CallableId
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
import org.jetbrains.kotlin.fir.symbols.impl.*
@@ -39,9 +38,6 @@ class FirProviderImpl(val session: FirSession) : FirProvider() {
return (state.callableMap[CallableId(packageFqName, null, name)] ?: emptyList())
}
override fun getClassDeclaredMemberScope(classId: ClassId) =
(getFirClassifierByFqName(classId) as? FirRegularClass)?.let(::FirClassDeclaredMemberScope)
override fun getFirClassifierContainerFile(fqName: ClassId): FirFile {
return state.classifierContainerFileMap[fqName] ?: error("Couldn't find container for $fqName")
}