From c998d0f026a7a61377b5cdd4d1beeb65c79a94b9 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Tue, 25 May 2021 19:28:37 +0200 Subject: [PATCH] FIR: make FirStaticScope to be name aware --- .../kotlin/fir/scopes/impl/FirStaticScope.kt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirStaticScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirStaticScope.kt index b8900ce9f84..f5e947931d1 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirStaticScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirStaticScope.kt @@ -9,13 +9,16 @@ import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction import org.jetbrains.kotlin.fir.declarations.isStatic import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor +import org.jetbrains.kotlin.fir.scopes.FirContainingNamesAwareScope import org.jetbrains.kotlin.fir.scopes.FirScope +import org.jetbrains.kotlin.fir.scopes.getContainingCallableNamesIfPresent +import org.jetbrains.kotlin.fir.scopes.getContainingClassifierNamesIfPresent import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol import org.jetbrains.kotlin.name.Name -class FirStaticScope(private val delegateScope: FirScope) : FirScope() { +class FirStaticScope(private val delegateScope: FirScope) : FirScope(), FirContainingNamesAwareScope { override fun processClassifiersByNameWithSubstitution(name: Name, processor: (FirClassifierSymbol<*>, ConeSubstitutor) -> Unit) { delegateScope.processClassifiersByNameWithSubstitution(name, processor) } @@ -35,4 +38,13 @@ class FirStaticScope(private val delegateScope: FirScope) : FirScope() { } } } + + + override fun getCallableNames(): Set { + return delegateScope.getContainingCallableNamesIfPresent() + } + + override fun getClassifierNames(): Set { + return delegateScope.getContainingClassifierNamesIfPresent() + } }