From 008260451c452ed59b7e599e0f4e02fcbfc55834 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 31 Dec 2020 16:25:40 +0100 Subject: [PATCH] FIR: make FirNestedClassifierScopeWithSubstitution to be name aware --- .../impl/FirNestedClassifierScopeWithSubstitution.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirNestedClassifierScopeWithSubstitution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirNestedClassifierScopeWithSubstitution.kt index 6af59a16a95..6b974ee2d83 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirNestedClassifierScopeWithSubstitution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirNestedClassifierScopeWithSubstitution.kt @@ -9,8 +9,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.isInner import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor import org.jetbrains.kotlin.fir.resolve.transformers.createSubstitutionForSupertype -import org.jetbrains.kotlin.fir.scopes.FirScope -import org.jetbrains.kotlin.fir.scopes.getSingleClassifier +import org.jetbrains.kotlin.fir.scopes.* import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.ConeClassLikeType import org.jetbrains.kotlin.name.Name @@ -18,7 +17,7 @@ import org.jetbrains.kotlin.name.Name private class FirNestedClassifierScopeWithSubstitution( private val scope: FirScope, private val substitutor: ConeSubstitutor -) : FirScope() { +) : FirScope(), FirContainingNamesAwareScope { override fun processFunctionsByName(name: Name, processor: (FirNamedFunctionSymbol) -> Unit) { scope.processFunctionsByName(name, processor) @@ -41,6 +40,9 @@ private class FirNestedClassifierScopeWithSubstitution( val substitutor = substitutor.takeIf { matchedClass.fir.isInner } ?: ConeSubstitutor.Empty processor(matchedClass, substitutor) } + + override fun getCallableNames(): Set = scope.getContainingCallableNamesIfPresent() + override fun getClassifierNames(): Set = scope.getContainingClassifierNamesIfPresent() } fun FirScope.wrapNestedClassifierScopeWithSubstitutionForSuperType(