[AA] Allow inner classes in non-static declared member scopes

- An inner class `Inner` in a class `Outer` is accessible as
  `Outer().Inner()` and should thus be part of the non-static declared
  member scope.
- Related issue containing a discussion about inner classes in use-site
  scopes: KT-62023.

^KT-61800
This commit is contained in:
Marco Pennekamp
2023-09-20 14:04:15 +02:00
committed by Space Team
parent 239cfa6d29
commit 9fa0dfe4bc
6 changed files with 71 additions and 44 deletions
@@ -157,11 +157,12 @@ public interface KtScopeProviderMixIn : KtAnalysisSessionMixIn {
withValidityAssertion { analysisSession.scopeProvider.getCombinedMemberScope(this) }
/**
* Returns a [KtScope] containing the *non-static* callables (functions, properties, and constructors) explicitly declared in the given
* [KtSymbolWithMembers].
* Returns a [KtScope] containing the *non-static* callables (functions, properties, and constructors) and inner classes explicitly
* declared in the given [KtSymbolWithMembers].
*
* The declared member scope does not contain classifiers (including the companion object). To retrieve the classifiers declared in this
* [KtSymbolWithMembers], please use the *static* declared member scope provided by [getStaticDeclaredMemberScope].
* The declared member scope does not contain classifiers (including the companion object) except for inner classes. To retrieve the
* classifiers declared in this [KtSymbolWithMembers], please use the *static* declared member scope provided by
* [getStaticDeclaredMemberScope].
*
* @see getStaticDeclaredMemberScope
*/