[FIR] add memberRequiredPhase to declaredMemberScope

^KT-56551
This commit is contained in:
Dmitrii Gridin
2023-05-15 12:17:07 +02:00
committed by Space Team
parent 01a94624f5
commit 5b3f617378
12 changed files with 105 additions and 60 deletions
@@ -86,7 +86,11 @@ internal class KtFirCallResolver(
) : AbstractKtCallResolver(), KtFirAnalysisSessionComponent {
private val equalsSymbolInAny: FirNamedFunctionSymbol by lazy(LazyThreadSafetyMode.PUBLICATION) {
val session = analysisSession.useSiteSession
val scope = session.declaredMemberScope(session.builtinTypes.anyType.toRegularClassSymbol(session)!!)
val scope = session.declaredMemberScope(
session.builtinTypes.anyType.toRegularClassSymbol(session)!!,
memberRequiredPhase = FirResolvePhase.STATUS,
)
lateinit var result: FirNamedFunctionSymbol
scope.processFunctionsByName(EQUALS) {
result = it
@@ -108,14 +108,14 @@ internal class KtFirScopeProvider(
if (classSymbol is KtFirScriptSymbol) {
return KtFirDelegatingNamesAwareScope(
FirScriptDeclarationsScope(useSiteSession, classSymbol.firSymbol.fir),
builder
builder,
)
}
val firScope = classSymbol.withFirForScope {
when (val regularClass = classSymbol.firSymbol.fir) {
is FirJavaClass -> buildJavaEnhancementDeclaredMemberScope(useSiteSession, regularClass.symbol, getScopeSession())
else -> useSiteSession.declaredMemberScope(it)
else -> useSiteSession.declaredMemberScope(it, memberRequiredPhase = null)
}
} ?: return getEmptyScope()