FIR: distinguish lazy/non-lazy nested scopes more clear
This commit is contained in:
@@ -28,9 +28,7 @@ import org.jetbrains.kotlin.fir.java.scopes.JavaClassUseSiteMemberScope
|
||||
import org.jetbrains.kotlin.fir.java.scopes.JavaOverrideChecker
|
||||
import org.jetbrains.kotlin.fir.resolve.*
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.FirSuperTypeScope
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.declaredMemberScope
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.nestedClassifierScope
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.*
|
||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.toFirSourceElement
|
||||
@@ -69,9 +67,8 @@ class JavaSymbolProvider(
|
||||
val symbol = this.getClassLikeSymbolByFqName(classId) ?: return null
|
||||
val regularClass = symbol.fir
|
||||
return if (regularClass is FirJavaClass) {
|
||||
nestedClassifierScope(
|
||||
lazyNestedClassifierScope(
|
||||
classId,
|
||||
session,
|
||||
existingNames = regularClass.existingNestedClassifierNames,
|
||||
symbolProvider = this
|
||||
)
|
||||
@@ -110,12 +107,11 @@ class JavaSymbolProvider(
|
||||
visitedSymbols: MutableSet<FirClassLikeSymbol<*>>
|
||||
): JavaClassUseSiteMemberScope {
|
||||
return scopeSession.getOrBuild(regularClass.symbol, JAVA_USE_SITE) {
|
||||
val declaredScope = declaredMemberScope(
|
||||
val declaredScope = if (regularClass is FirJavaClass) declaredMemberScopeWithLazyNestedScope(
|
||||
regularClass,
|
||||
useLazyNestedClassifierScope = regularClass is FirJavaClass,
|
||||
existingNames = (regularClass as? FirJavaClass)?.existingNestedClassifierNames,
|
||||
existingNames = regularClass.existingNestedClassifierNames,
|
||||
symbolProvider = this
|
||||
)
|
||||
) else declaredMemberScope(regularClass)
|
||||
val wrappedDeclaredScope = wrapScopeWithJvmMapped(regularClass, declaredScope, useSiteSession, scopeSession)
|
||||
val superTypeEnhancementScopes =
|
||||
lookupSuperTypes(regularClass, lookupInterfaces = true, deep = false, useSiteSession = useSiteSession)
|
||||
|
||||
Reference in New Issue
Block a user