FIR: Simplify JavaScopeProvider
::wrapScopeWithJvmMapped is only needed for built-in classes defined in Kotlin
This commit is contained in:
@@ -22,12 +22,6 @@ import org.jetbrains.kotlin.utils.DFS
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult
|
||||
|
||||
class JavaScopeProvider(
|
||||
val declaredMemberScopeDecorator: (
|
||||
klass: FirClass<*>,
|
||||
declaredMemberScope: FirScope,
|
||||
useSiteSession: FirSession,
|
||||
scopeSession: ScopeSession
|
||||
) -> FirScope = { _, declaredMemberScope, _, _ -> declaredMemberScope },
|
||||
val symbolProvider: JavaSymbolProvider
|
||||
) : FirScopeProvider() {
|
||||
override fun getUseSiteMemberScope(
|
||||
@@ -83,7 +77,6 @@ class JavaScopeProvider(
|
||||
): JavaClassUseSiteMemberScope {
|
||||
return scopeSession.getOrBuild(regularClass.symbol, JAVA_USE_SITE) {
|
||||
val declaredScope = buildDeclaredMemberScope(regularClass)
|
||||
val wrappedDeclaredScope = declaredMemberScopeDecorator(regularClass, declaredScope, useSiteSession, scopeSession)
|
||||
val superTypes =
|
||||
if (regularClass.isThereLoopInSupertypes(useSiteSession))
|
||||
listOf(StandardClassIds.Any.toConeKotlinType(emptyArray(), isNullable = false))
|
||||
@@ -91,7 +84,7 @@ class JavaScopeProvider(
|
||||
lookupSuperTypes(regularClass, lookupInterfaces = true, deep = false, useSiteSession = useSiteSession)
|
||||
|
||||
val superTypeScopes = superTypes.mapNotNull {
|
||||
it.scopeForSupertype(useSiteSession, scopeSession, subClass = regularClass, wrappedDeclaredScope, delegateFields = null)
|
||||
it.scopeForSupertype(useSiteSession, scopeSession, subClass = regularClass, declaredScope, delegateFields = null)
|
||||
}
|
||||
|
||||
JavaClassUseSiteMemberScope(
|
||||
@@ -105,7 +98,7 @@ class JavaScopeProvider(
|
||||
),
|
||||
superTypeScopes,
|
||||
regularClass.defaultType(),
|
||||
), wrappedDeclaredScope
|
||||
), declaredScope
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -130,7 +123,6 @@ class JavaScopeProvider(
|
||||
|
||||
return scopeSession.getOrBuild(klass.symbol, JAVA_ENHANCEMENT_FOR_STATIC) {
|
||||
val declaredScope = buildDeclaredMemberScope(klass)
|
||||
val wrappedDeclaredScope = declaredMemberScopeDecorator(klass, declaredScope, useSiteSession, scopeSession)
|
||||
|
||||
val superClassScope = klass.findJavaSuperClass()?.let {
|
||||
(it.scopeProvider as? JavaScopeProvider)
|
||||
@@ -147,7 +139,7 @@ class JavaScopeProvider(
|
||||
klass.symbol,
|
||||
JavaClassStaticUseSiteScope(
|
||||
useSiteSession,
|
||||
declaredMemberScope = wrappedDeclaredScope,
|
||||
declaredMemberScope = declaredScope,
|
||||
superClassScope, superTypesScopes,
|
||||
klass.javaTypeParameterStack
|
||||
)
|
||||
|
||||
@@ -24,7 +24,6 @@ import org.jetbrains.kotlin.fir.resolve.constructType
|
||||
import org.jetbrains.kotlin.fir.resolve.defaultType
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
|
||||
import org.jetbrains.kotlin.fir.resolve.scopes.wrapScopeWithJvmMapped
|
||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||
@@ -66,7 +65,7 @@ class JavaSymbolProvider(
|
||||
private val packageCache = session.firCachesFactory.createCache(::findPackage)
|
||||
private val knownClassNamesInPackage = session.firCachesFactory.createCache<FqName, Set<String>?>(::getKnownClassNames)
|
||||
|
||||
private val scopeProvider = JavaScopeProvider(::wrapScopeWithJvmMapped, this)
|
||||
private val scopeProvider = JavaScopeProvider(this)
|
||||
|
||||
private val facade: KotlinJavaPsiFacade get() = KotlinJavaPsiFacade.getInstance(project)
|
||||
private val parentClassTypeParameterStackCache = mutableMapOf<FirRegularClassSymbol, JavaTypeParameterStack>()
|
||||
|
||||
Reference in New Issue
Block a user