FIR IDE/LC: introduce/use delegated member scope

This commit is contained in:
Jinseong Jeon
2021-10-20 16:20:14 -07:00
committed by Ilya Kirillov
parent 700f8ac287
commit 3f2c86afb8
18 changed files with 271 additions and 20 deletions
@@ -66,11 +66,24 @@ internal class KtFe10ScopeProvider(override val analysisSession: KtFe10AnalysisS
override val owner get() = classSymbol
}
// TODO: need to return declared members only
return object : KtFe10ScopeMember(descriptor.unsubstitutedMemberScope, analysisSession), KtDeclaredMemberScope {
override val owner get() = classSymbol
}
}
override fun getDelegatedMemberScope(classSymbol: KtSymbolWithMembers): KtDelegatedMemberScope = withValidityAssertion {
val descriptor = getDescriptor<ClassDescriptor>(classSymbol)
?: return object : KtFe10EmptyScope(token), KtDelegatedMemberScope {
override val owner get() = classSymbol
}
// TODO: need to return delegated members only
return object : KtFe10ScopeMember(descriptor.unsubstitutedMemberScope, analysisSession), KtDelegatedMemberScope {
override val owner get() = classSymbol
}
}
override fun getStaticMemberScope(symbol: KtSymbolWithMembers): KtScope = withValidityAssertion {
val descriptor = getDescriptor<ClassDescriptor>(symbol) ?: return KtFe10EmptyScope(token)
return KtFe10ScopeMember(descriptor.staticScope, analysisSession)
@@ -147,4 +160,4 @@ internal class KtFe10ScopeProvider(override val analysisSession: KtFe10AnalysisS
return result
}
}
}