From 95409b35caceaa63b878871a7639bb07dbc9a89e Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Mon, 10 Jun 2019 16:38:06 +0300 Subject: [PATCH] [FIR] Use abstract classes for FIR scopes --- .../kotlin/fir/java/scopes/JavaClassEnhancementScope.kt | 2 +- .../org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt | 2 +- .../jetbrains/kotlin/fir/scopes/FirTypeParameterScope.kt | 4 ++-- .../kotlin/fir/scopes/impl/AbstractFirOverrideScope.kt | 2 +- .../fir/scopes/impl/FirAbstractProviderBasedScope.kt | 2 +- .../kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt | 2 +- .../kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt | 2 +- .../jetbrains/kotlin/fir/scopes/impl/FirCompositeScope.kt | 2 +- .../org/jetbrains/kotlin/fir/scopes/impl/FirLocalScope.kt | 2 +- .../kotlin/fir/scopes/impl/FirMemberTypeParameterScope.kt | 2 +- .../kotlin/fir/scopes/impl/FirNestedClassifierScope.kt | 2 +- .../kotlin/fir/scopes/impl/FirSelfImportingScope.kt | 2 +- .../tree/src/org/jetbrains/kotlin/fir/scopes/FirScope.kt | 8 ++++---- 13 files changed, 17 insertions(+), 17 deletions(-) diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassEnhancementScope.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassEnhancementScope.kt index 0a77b4de92f..97958523bde 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassEnhancementScope.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassEnhancementScope.kt @@ -40,7 +40,7 @@ import org.jetbrains.kotlin.utils.Jsr305State class JavaClassEnhancementScope( private val session: FirSession, private val useSiteScope: JavaClassUseSiteScope -) : FirScope { +) : FirScope() { private val owner: FirRegularClass = useSiteScope.symbol.fir private val javaTypeParameterStack: JavaTypeParameterStack = diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt index 2e55c6b607a..748e2a9aad2 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt @@ -26,7 +26,7 @@ class FirSyntheticPropertiesScope( val session: FirSession, private val baseScope: FirScope, private val typeCalculator: ReturnTypeCalculator -) : FirScope { +) : FirScope() { val synthetic: MutableMap = mutableMapOf() diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/FirTypeParameterScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/FirTypeParameterScope.kt index 715a3bc0b7b..fa44b527791 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/FirTypeParameterScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/FirTypeParameterScope.kt @@ -9,8 +9,8 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.symbols.ConeClassifierSymbol import org.jetbrains.kotlin.name.Name -interface FirTypeParameterScope : FirScope { - val typeParameters: Map> +abstract class FirTypeParameterScope : FirScope() { + abstract val typeParameters: Map> override fun processClassifiersByName( name: Name, diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirOverrideScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirOverrideScope.kt index 076af12e95e..a867811c859 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirOverrideScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirOverrideScope.kt @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl import org.jetbrains.kotlin.types.AbstractStrictEqualityTypeChecker import org.jetbrains.kotlin.utils.addToStdlib.cast -abstract class AbstractFirOverrideScope(val session: FirSession) : FirScope { +abstract class AbstractFirOverrideScope(val session: FirSession) : FirScope() { //base symbol as key val overrides = mutableMapOf() diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractProviderBasedScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractProviderBasedScope.kt index 17fa75d1941..dab72bf7fe3 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractProviderBasedScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractProviderBasedScope.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.resolve.impl.FirDependenciesSymbolProviderImpl import org.jetbrains.kotlin.fir.scopes.FirScope abstract class FirAbstractProviderBasedScope(val session: FirSession, lookupInFir: Boolean = true) : - FirScope { + FirScope() { val provider = when (val symbolProvider = FirSymbolProvider.getInstance(session)) { is FirCompositeSymbolProvider -> symbolProvider.takeIf { !lookupInFir }?.providers?.find { it is FirDependenciesSymbolProviderImpl diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt index 729682a832d..5d944339b07 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt @@ -36,7 +36,7 @@ fun declaredMemberScope(klass: FirRegularClass): FirClassDeclaredMemberScope { .declaredMemberScope(klass) } -class FirClassDeclaredMemberScope(klass: FirRegularClass) : FirScope { +class FirClassDeclaredMemberScope(klass: FirRegularClass) : FirScope() { private val callablesIndex: Map> = run { val result = mutableMapOf>() for (declaration in klass.declarations) { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt index 308adfdb4d1..a24e1a981a9 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt @@ -28,7 +28,7 @@ class FirClassSubstitutionScope( private val session: FirSession, private val useSiteScope: FirScope, substitution: Map -) : FirScope { +) : FirScope() { private val fakeOverrides = mutableMapOf() diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirCompositeScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirCompositeScope.kt index 2fc1123a788..7c747e01ec7 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirCompositeScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirCompositeScope.kt @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.name.Name class FirCompositeScope( val scopes: MutableList, private val reversedPriority: Boolean = false -) : FirScope { +) : FirScope() { override fun processClassifiersByName( name: Name, position: FirPosition, diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirLocalScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirLocalScope.kt index 7d3344e6b4c..370a494dfb4 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirLocalScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirLocalScope.kt @@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.symbols.ConeVariableSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol import org.jetbrains.kotlin.name.Name -class FirLocalScope : FirScope { +class FirLocalScope : FirScope() { val properties = mutableMapOf() val functions = mutableMapOf() diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirMemberTypeParameterScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirMemberTypeParameterScope.kt index 05e98267721..e3d277c5784 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirMemberTypeParameterScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirMemberTypeParameterScope.kt @@ -8,6 +8,6 @@ package org.jetbrains.kotlin.fir.scopes.impl import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration import org.jetbrains.kotlin.fir.scopes.FirTypeParameterScope -class FirMemberTypeParameterScope(callableMember: FirMemberDeclaration) : FirTypeParameterScope { +class FirMemberTypeParameterScope(callableMember: FirMemberDeclaration) : FirTypeParameterScope() { override val typeParameters = callableMember.typeParameters.groupBy { it.name } } \ No newline at end of file diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirNestedClassifierScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirNestedClassifierScope.kt index 5b82b34200f..3650804d709 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirNestedClassifierScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirNestedClassifierScope.kt @@ -15,7 +15,7 @@ import org.jetbrains.kotlin.name.Name class FirNestedClassifierScope( val classId: ClassId, private val symbolProvider: FirSymbolProvider -) : FirScope { +) : FirScope() { override fun processClassifiersByName( name: Name, diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirSelfImportingScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirSelfImportingScope.kt index 7a4e32fb719..fad60b83b4d 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirSelfImportingScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirSelfImportingScope.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name -class FirSelfImportingScope(val fqName: FqName, val session: FirSession) : FirScope { +class FirSelfImportingScope(val fqName: FqName, val session: FirSession) : FirScope() { private val symbolProvider = FirSymbolProvider.getInstance(session) diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/scopes/FirScope.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/scopes/FirScope.kt index 2facb9b2b84..330e7444863 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/scopes/FirScope.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/scopes/FirScope.kt @@ -12,23 +12,23 @@ import org.jetbrains.kotlin.fir.symbols.ConeFunctionSymbol import org.jetbrains.kotlin.fir.symbols.ConeVariableSymbol import org.jetbrains.kotlin.name.Name -interface FirScope { +abstract class FirScope { @Deprecated( "obsolete", replaceWith = ReplaceWith("processClassifiersByNameWithAction(name, position) { if (processor()) ProcessorAction.NEXT else ProcessorAction.STOP }.next()") ) - fun processClassifiersByName( + open fun processClassifiersByName( name: Name, position: FirPosition, processor: (ConeClassifierSymbol) -> Boolean ): Boolean = true - fun processFunctionsByName( + open fun processFunctionsByName( name: Name, processor: (ConeFunctionSymbol) -> ProcessorAction ): ProcessorAction = NEXT - fun processPropertiesByName( + open fun processPropertiesByName( name: Name, processor: (ConeVariableSymbol) -> ProcessorAction ): ProcessorAction = NEXT