[FIR] Get rid of FirSymbolProvider.getNestedClassifierScope

This commit is contained in:
Dmitriy Novozhilov
2020-08-13 17:46:52 +03:00
parent 77f52a9ddb
commit 9032234e1d
18 changed files with 51 additions and 114 deletions
@@ -80,6 +80,7 @@ internal class FirIdeJavaModuleBasedSession private constructor(
register(
FirSymbolProvider::class,
FirCompositeSymbolProvider(
this,
@OptIn(ExperimentalStdlibApi::class)
buildList {
add(provider.symbolProvider)
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.fir.resolve.providers.FirProvider
import org.jetbrains.kotlin.fir.resolve.providers.FirProviderInternals
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.KotlinScopeProvider
import org.jetbrains.kotlin.fir.symbols.impl.FirAccessorSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
@@ -117,7 +116,7 @@ internal class FirIdeProvider(
return emptySet()
}
private inner class SymbolProvider : FirSymbolProvider() {
private inner class SymbolProvider : FirSymbolProvider(session) {
override fun getTopLevelCallableSymbols(packageFqName: FqName, name: Name): List<FirCallableSymbol<*>> =
providerHelper.getTopLevelCallableSymbols(packageFqName, name)
@@ -129,9 +128,6 @@ internal class FirIdeProvider(
override fun getPackage(fqName: FqName): FqName? =
providerHelper.getPackage(fqName)
override fun getNestedClassifierScope(classId: ClassId): FirScope? =
providerHelper.getNestedClassifierScope(classId)
override fun getClassLikeSymbolByFqName(classId: ClassId): FirClassLikeSymbol<*>? {
return getFirClassifierByFqName(classId)?.symbol
}
@@ -9,19 +9,14 @@ import com.google.common.collect.Sets
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirClassLikeDeclaration
import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
import org.jetbrains.kotlin.fir.psi
import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.impl.nestedClassifierScope
import org.jetbrains.kotlin.fir.symbols.CallableId
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
import org.jetbrains.kotlin.idea.fir.low.level.api.util.FirElementFinder
import org.jetbrains.kotlin.idea.fir.low.level.api.IndexHelper
import org.jetbrains.kotlin.idea.fir.low.level.api.PackageExistenceChecker
import org.jetbrains.kotlin.idea.fir.low.level.api.util.executeOrReturnDefaultValueOnPCE
import org.jetbrains.kotlin.idea.fir.low.level.api.file.builder.FirFileBuilder
import org.jetbrains.kotlin.idea.fir.low.level.api.file.builder.ModuleFileCache
import org.jetbrains.kotlin.idea.fir.low.level.api.util.FirElementFinder
import org.jetbrains.kotlin.idea.fir.low.level.api.util.executeOrReturnDefaultValueOnPCE
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
@@ -80,11 +75,6 @@ internal class FirProviderHelper(
}
}
fun getNestedClassifierScope(classId: ClassId): FirScope? =
(getFirClassifierByFqName(classId) as? FirRegularClass)?.let {
nestedClassifierScope(it)
}
fun getPackage(fqName: FqName): FqName? =
fqName.takeIf(packageExistenceChecker::isPackageExists)
}
}
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.idea.fir.low.level.api.sessions
import com.intellij.openapi.project.Project
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider
import org.jetbrains.kotlin.fir.java.JavaSymbolProvider
@@ -21,7 +20,6 @@ import org.jetbrains.kotlin.fir.scopes.KotlinScopeProvider
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
import org.jetbrains.kotlin.idea.caches.resolve.IDEPackagePartProvider
import org.jetbrains.kotlin.idea.fir.low.level.api.IdeSessionComponents
import org.jetbrains.kotlin.idea.search.minus
import org.jetbrains.kotlin.load.java.JavaClassFinderImpl
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinderFactory
@@ -52,6 +50,7 @@ class FirIdeModuleLibraryDependenciesSession private constructor(
register(
FirSymbolProvider::class,
FirCompositeSymbolProvider(
this,
listOf(
KotlinDeserializedJvmSymbolsProvider(
this,
@@ -71,4 +70,4 @@ class FirIdeModuleLibraryDependenciesSession private constructor(
}
}
}
}
}