Code cleanup: get rid of FirPosition

This commit is contained in:
Mikhail Glukhikh
2019-10-22 16:05:42 +03:00
parent 374c3b4561
commit bb60a8f334
16 changed files with 21 additions and 56 deletions
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.fir.resolve package org.jetbrains.kotlin.fir.resolve
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.service import org.jetbrains.kotlin.fir.service
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
@@ -16,8 +15,8 @@ import org.jetbrains.kotlin.fir.types.FirUserTypeRef
interface FirTypeResolver { interface FirTypeResolver {
fun resolveType(typeRef: FirTypeRef, scope: FirScope, position: FirPosition): ConeKotlinType fun resolveType(typeRef: FirTypeRef, scope: FirScope): ConeKotlinType
fun resolveToSymbol(typeRef: FirTypeRef, scope: FirScope, position: FirPosition): FirClassifierSymbol<*>? fun resolveToSymbol(typeRef: FirTypeRef, scope: FirScope): FirClassifierSymbol<*>?
companion object { companion object {
fun getInstance(session: FirSession): FirTypeResolver = session.service() fun getInstance(session: FirSession): FirTypeResolver = session.service()
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedImportImpl
import org.jetbrains.kotlin.fir.expressions.FirResolvedQualifier import org.jetbrains.kotlin.fir.expressions.FirResolvedQualifier
import org.jetbrains.kotlin.fir.resolve.* import org.jetbrains.kotlin.fir.resolve.*
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculatorWithJump import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculatorWithJump
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.scopes.impl.FirAbstractImportingScope import org.jetbrains.kotlin.fir.scopes.impl.FirAbstractImportingScope
@@ -132,7 +131,7 @@ class MemberScopeTowerLevel(
this.processFunctionsByName(name, symbol.cast()) this.processFunctionsByName(name, symbol.cast())
} }
TowerScopeLevel.Token.Objects -> processMembers(processor, explicitExtensionReceiver) { symbol -> TowerScopeLevel.Token.Objects -> processMembers(processor, explicitExtensionReceiver) { symbol ->
this.processClassifiersByName(name, FirPosition.OTHER, symbol.cast()) this.processClassifiersByName(name, symbol.cast())
} }
} }
} }
@@ -198,7 +197,7 @@ class ScopeTowerLevel(
ProcessorAction.NEXT ProcessorAction.NEXT
} }
} }
TowerScopeLevel.Token.Objects -> scope.processClassifiersByName(name, FirPosition.OTHER) { TowerScopeLevel.Token.Objects -> scope.processClassifiersByName(name) {
processor.consumeCandidate( processor.consumeCandidate(
it as T, dispatchReceiverValue = null, it as T, dispatchReceiverValue = null,
implicitExtensionReceiverValue = null implicitExtensionReceiverValue = null
@@ -246,7 +245,7 @@ class QualifiedReceiverTowerLevel(
} }
return when (token) { return when (token) {
TowerScopeLevel.Token.Objects -> scope.processClassifiersByName(name, FirPosition.OTHER) { TowerScopeLevel.Token.Objects -> scope.processClassifiersByName(name) {
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
processor.consumeCandidate(it as T, null, null) processor.consumeCandidate(it as T, null, null)
} }
@@ -307,7 +306,7 @@ private fun FirScope.processFunctionsAndConstructorsByName(
private fun FirScope.getFirstClassifierOrNull(name: Name): FirClassifierSymbol<*>? { private fun FirScope.getFirstClassifierOrNull(name: Name): FirClassifierSymbol<*>? {
var result: FirClassifierSymbol<*>? = null var result: FirClassifierSymbol<*>? = null
processClassifiersByName(name, FirPosition.OTHER) { processClassifiersByName(name) {
result = it result = it
ProcessorAction.STOP ProcessorAction.STOP
} }
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.render import org.jetbrains.kotlin.fir.render
import org.jetbrains.kotlin.fir.resolve.* import org.jetbrains.kotlin.fir.resolve.*
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
@@ -39,8 +38,7 @@ class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver {
override fun resolveToSymbol( override fun resolveToSymbol(
typeRef: FirTypeRef, typeRef: FirTypeRef,
scope: FirScope, scope: FirScope
position: FirPosition
): FirClassifierSymbol<*>? { ): FirClassifierSymbol<*>? {
return when (typeRef) { return when (typeRef) {
is FirResolvedTypeRef -> typeRef.coneTypeSafe<ConeLookupTagBasedType>()?.lookupTag?.let(symbolProvider::getSymbolByLookupTag) is FirResolvedTypeRef -> typeRef.coneTypeSafe<ConeLookupTagBasedType>()?.lookupTag?.let(symbolProvider::getSymbolByLookupTag)
@@ -49,7 +47,7 @@ class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver {
val qualifierResolver = FirQualifierResolver.getInstance(session) val qualifierResolver = FirQualifierResolver.getInstance(session)
var resolvedSymbol: FirClassifierSymbol<*>? = null var resolvedSymbol: FirClassifierSymbol<*>? = null
scope.processClassifiersByName(typeRef.qualifier.first().name, position) { symbol -> scope.processClassifiersByName(typeRef.qualifier.first().name) { symbol ->
resolvedSymbol = when (symbol) { resolvedSymbol = when (symbol) {
is FirClassLikeSymbol<*> -> { is FirClassLikeSymbol<*> -> {
if (typeRef.qualifier.size == 1) { if (typeRef.qualifier.size == 1) {
@@ -97,13 +95,12 @@ class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver {
override fun resolveType( override fun resolveType(
typeRef: FirTypeRef, typeRef: FirTypeRef,
scope: FirScope, scope: FirScope
position: FirPosition
): ConeKotlinType { ): ConeKotlinType {
return when (typeRef) { return when (typeRef) {
is FirResolvedTypeRef -> typeRef.type is FirResolvedTypeRef -> typeRef.type
is FirUserTypeRef -> { is FirUserTypeRef -> {
resolveUserType(typeRef, resolveToSymbol(typeRef, scope, position), scope) resolveUserType(typeRef, resolveToSymbol(typeRef, scope), scope)
} }
is FirErrorTypeRef -> { is FirErrorTypeRef -> {
ConeKotlinErrorType(typeRef.reason) ConeKotlinErrorType(typeRef.reason)
@@ -112,10 +109,10 @@ class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver {
createFunctionalType(typeRef) createFunctionalType(typeRef)
} }
is FirImplicitBuiltinTypeRef -> { is FirImplicitBuiltinTypeRef -> {
resolveToSymbol(typeRef, scope, position)!!.constructType(emptyList(), isNullable = false) resolveToSymbol(typeRef, scope)!!.constructType(emptyList(), isNullable = false)
} }
is FirDelegatedTypeRef -> { is FirDelegatedTypeRef -> {
resolveType(typeRef.typeRef, scope, position) resolveType(typeRef.typeRef, scope)
} }
is FirDynamicTypeRef -> { is FirDynamicTypeRef -> {
ConeKotlinErrorType("Not supported: ${typeRef::class.simpleName}") ConeKotlinErrorType("Not supported: ${typeRef::class.simpleName}")
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.fir.resolve.transformers
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.resolve.FirTypeResolver import org.jetbrains.kotlin.fir.resolve.FirTypeResolver
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.fir.types.impl.FirResolvedFunctionTypeRefImpl import org.jetbrains.kotlin.fir.types.impl.FirResolvedFunctionTypeRefImpl
@@ -18,13 +17,12 @@ import org.jetbrains.kotlin.fir.visitors.compose
class FirSpecificTypeResolverTransformer( class FirSpecificTypeResolverTransformer(
private val towerScope: FirScope, private val towerScope: FirScope,
private val position: FirPosition,
override val session: FirSession override val session: FirSession
) : FirAbstractTreeTransformer(phase = FirResolvePhase.SUPER_TYPES) { ) : FirAbstractTreeTransformer(phase = FirResolvePhase.SUPER_TYPES) {
override fun transformTypeRef(typeRef: FirTypeRef, data: Nothing?): CompositeTransformResult<FirTypeRef> { override fun transformTypeRef(typeRef: FirTypeRef, data: Nothing?): CompositeTransformResult<FirTypeRef> {
val typeResolver = FirTypeResolver.getInstance(session) val typeResolver = FirTypeResolver.getInstance(session)
typeRef.transformChildren(FirSpecificTypeResolverTransformer(towerScope, FirPosition.OTHER, session), null) typeRef.transformChildren(FirSpecificTypeResolverTransformer(towerScope, session), null)
return transformType(typeRef, typeResolver.resolveType(typeRef, towerScope, position)) return transformType(typeRef, typeResolver.resolveType(typeRef, towerScope))
} }
override fun transformFunctionTypeRef(functionTypeRef: FirFunctionTypeRef, data: Nothing?): CompositeTransformResult<FirTypeRef> { override fun transformFunctionTypeRef(functionTypeRef: FirFunctionTypeRef, data: Nothing?): CompositeTransformResult<FirTypeRef> {
@@ -32,7 +30,7 @@ class FirSpecificTypeResolverTransformer(
functionTypeRef.transformChildren(this, data) functionTypeRef.transformChildren(this, data)
return FirResolvedFunctionTypeRefImpl( return FirResolvedFunctionTypeRefImpl(
functionTypeRef.psi, functionTypeRef.psi,
typeResolver.resolveType(functionTypeRef, towerScope, position), typeResolver.resolveType(functionTypeRef, towerScope),
functionTypeRef.isMarkedNullable, functionTypeRef.isMarkedNullable,
functionTypeRef.receiverTypeRef, functionTypeRef.receiverTypeRef,
functionTypeRef.returnTypeRef functionTypeRef.returnTypeRef
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.expressions.FirStatement import org.jetbrains.kotlin.fir.expressions.FirStatement
import org.jetbrains.kotlin.fir.render import org.jetbrains.kotlin.fir.render
import org.jetbrains.kotlin.fir.resolve.* import org.jetbrains.kotlin.fir.resolve.*
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.addImportingScopes import org.jetbrains.kotlin.fir.scopes.addImportingScopes
import org.jetbrains.kotlin.fir.types.ConeClassLikeType import org.jetbrains.kotlin.fir.types.ConeClassLikeType
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
@@ -113,7 +112,7 @@ class FirSupertypeResolverTransformer : FirAbstractTreeTransformer(phase = FirRe
regularClass.addTypeParametersScope() regularClass.addTypeParametersScope()
val transformer = FirSpecificTypeResolverTransformer(towerScope, FirPosition.SUPER_TYPE_OR_EXPANSION, session) val transformer = FirSpecificTypeResolverTransformer(towerScope, session)
val resolvedTypesRefs = regularClass.superTypeRefs.map { val resolvedTypesRefs = regularClass.superTypeRefs.map {
transformer.transformTypeRef(it, data).single transformer.transformTypeRef(it, data).single
} }
@@ -144,7 +143,7 @@ class FirSupertypeResolverTransformer : FirAbstractTreeTransformer(phase = FirRe
return withScopeCleanup { return withScopeCleanup {
typeAlias.addTypeParametersScope() typeAlias.addTypeParametersScope()
val transformer = FirSpecificTypeResolverTransformer(towerScope, FirPosition.SUPER_TYPE_OR_EXPANSION, session) val transformer = FirSpecificTypeResolverTransformer(towerScope, session)
val resolvedTypesRef = transformer.transformTypeRef(typeAlias.expandedTypeRef, data).single val resolvedTypesRef = transformer.transformTypeRef(typeAlias.expandedTypeRef, data).single
val resultingTypeRef = resolveLoops(typeAlias, classId, listOf(resolvedTypesRef)).firstOrNull() val resultingTypeRef = resolveLoops(typeAlias, classId, listOf(resolvedTypesRef)).firstOrNull()
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.expressions.FirStatement import org.jetbrains.kotlin.fir.expressions.FirStatement
import org.jetbrains.kotlin.fir.resolve.* import org.jetbrains.kotlin.fir.resolve.*
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.addImportingScopes import org.jetbrains.kotlin.fir.scopes.addImportingScopes
import org.jetbrains.kotlin.fir.scopes.impl.withReplacedConeType import org.jetbrains.kotlin.fir.scopes.impl.withReplacedConeType
import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.*
@@ -78,7 +77,7 @@ open class FirTypeResolveTransformer : FirAbstractTreeTransformerWithSuperTypes(
} }
override fun transformTypeRef(typeRef: FirTypeRef, data: Nothing?): CompositeTransformResult<FirTypeRef> { override fun transformTypeRef(typeRef: FirTypeRef, data: Nothing?): CompositeTransformResult<FirTypeRef> {
return FirSpecificTypeResolverTransformer(towerScope, FirPosition.OTHER, session).transformTypeRef(typeRef, data) return FirSpecificTypeResolverTransformer(towerScope, session).transformTypeRef(typeRef, data)
} }
override fun transformValueParameter(valueParameter: FirValueParameter, data: Nothing?): CompositeTransformResult<FirStatement> { override fun transformValueParameter(valueParameter: FirValueParameter, data: Nothing?): CompositeTransformResult<FirStatement> {
@@ -14,7 +14,6 @@ abstract class FirTypeParameterScope : FirScope() {
override fun processClassifiersByName( override fun processClassifiersByName(
name: Name, name: Name,
position: FirPosition,
processor: (FirClassifierSymbol<*>) -> ProcessorAction processor: (FirClassifierSymbol<*>) -> ProcessorAction
): ProcessorAction { ): ProcessorAction {
val matchedTypeParameters = typeParameters[name] ?: return ProcessorAction.NEXT val matchedTypeParameters = typeParameters[name] ?: return ProcessorAction.NEXT
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.fir.scopes.impl package org.jetbrains.kotlin.fir.scopes.impl
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
@@ -39,9 +38,8 @@ abstract class AbstractFirUseSiteScope(
override fun processClassifiersByName( override fun processClassifiersByName(
name: Name, name: Name,
position: FirPosition,
processor: (FirClassifierSymbol<*>) -> ProcessorAction processor: (FirClassifierSymbol<*>) -> ProcessorAction
): ProcessorAction { ): ProcessorAction {
return declaredMemberScope.processClassifiersByName(name, position, processor) return declaredMemberScope.processClassifiersByName(name, processor)
} }
} }
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedImportImpl
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
import org.jetbrains.kotlin.fir.resolve.ScopeSession import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.resolve.calls.TowerScopeLevel import org.jetbrains.kotlin.fir.resolve.calls.TowerScopeLevel
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
@@ -26,7 +25,6 @@ abstract class FirAbstractSimpleImportingScope(
override fun processClassifiersByName( override fun processClassifiersByName(
name: Name, name: Name,
position: FirPosition,
processor: (FirClassifierSymbol<*>) -> ProcessorAction processor: (FirClassifierSymbol<*>) -> ProcessorAction
): ProcessorAction { ): ProcessorAction {
val imports = simpleImports[name] ?: return ProcessorAction.NONE val imports = simpleImports[name] ?: return ProcessorAction.NONE
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
import org.jetbrains.kotlin.fir.resolve.ScopeSession import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.resolve.calls.TowerScopeLevel import org.jetbrains.kotlin.fir.resolve.calls.TowerScopeLevel
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
@@ -28,7 +27,6 @@ abstract class FirAbstractStarImportingScope(
override fun processClassifiersByName( override fun processClassifiersByName(
name: Name, name: Name,
position: FirPosition,
processor: (FirClassifierSymbol<*>) -> ProcessorAction processor: (FirClassifierSymbol<*>) -> ProcessorAction
): ProcessorAction { ): ProcessorAction {
if (starImports.isEmpty() || name in absentClassifierNames) { if (starImports.isEmpty() || name in absentClassifierNames) {
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirConstructor import org.jetbrains.kotlin.fir.declarations.FirConstructor
import org.jetbrains.kotlin.fir.declarations.FirRegularClass import org.jetbrains.kotlin.fir.declarations.FirRegularClass
import org.jetbrains.kotlin.fir.resolve.memberScopeProvider import org.jetbrains.kotlin.fir.resolve.memberScopeProvider
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.scopes.ProcessorAction.NEXT import org.jetbrains.kotlin.fir.scopes.ProcessorAction.NEXT
@@ -113,7 +112,6 @@ class FirClassDeclaredMemberScope(klass: FirRegularClass) : FirScope() {
override fun processClassifiersByName( override fun processClassifiersByName(
name: Name, name: Name,
position: FirPosition,
processor: (FirClassifierSymbol<*>) -> ProcessorAction processor: (FirClassifierSymbol<*>) -> ProcessorAction
): ProcessorAction = nestedClassifierScope.processClassifiersByName(name, position, processor) ): ProcessorAction = nestedClassifierScope.processClassifiersByName(name, processor)
} }
@@ -5,9 +5,7 @@
package org.jetbrains.kotlin.fir.scopes.impl package org.jetbrains.kotlin.fir.scopes.impl
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.FirTypeParameterScope
import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.scopes.ProcessorAction.NEXT import org.jetbrains.kotlin.fir.scopes.ProcessorAction.NEXT
import org.jetbrains.kotlin.fir.scopes.ProcessorAction.STOP import org.jetbrains.kotlin.fir.scopes.ProcessorAction.STOP
@@ -22,13 +20,11 @@ class FirCompositeScope(
) : FirScope() { ) : FirScope() {
override fun processClassifiersByName( override fun processClassifiersByName(
name: Name, name: Name,
position: FirPosition,
processor: (FirClassifierSymbol<*>) -> ProcessorAction processor: (FirClassifierSymbol<*>) -> ProcessorAction
): ProcessorAction { ): ProcessorAction {
val scopes = if (reversedPriority) scopes.asReversed() else scopes val scopes = if (reversedPriority) scopes.asReversed() else scopes
for (scope in scopes) { for (scope in scopes) {
if (!position.allowTypeParameters && scope is FirTypeParameterScope) continue if (!scope.processClassifiersByName(name, processor)) {
if (!scope.processClassifiersByName(name, position, processor)) {
return STOP return STOP
} }
} }
@@ -6,9 +6,7 @@
package org.jetbrains.kotlin.fir.scopes.impl package org.jetbrains.kotlin.fir.scopes.impl
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
@@ -24,7 +22,6 @@ class FirLazyNestedClassifierScope(
override fun processClassifiersByName( override fun processClassifiersByName(
name: Name, name: Name,
position: FirPosition,
processor: (FirClassifierSymbol<*>) -> ProcessorAction processor: (FirClassifierSymbol<*>) -> ProcessorAction
): ProcessorAction { ): ProcessorAction {
val child = classId.createNestedClassId(name) val child = classId.createNestedClassId(name)
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.fir.scopes.impl package org.jetbrains.kotlin.fir.scopes.impl
import org.jetbrains.kotlin.fir.declarations.FirRegularClass import org.jetbrains.kotlin.fir.declarations.FirRegularClass
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
@@ -27,7 +26,6 @@ class FirNestedClassifierScope(val klass: FirRegularClass) : FirScope() {
override fun processClassifiersByName( override fun processClassifiersByName(
name: Name, name: Name,
position: FirPosition,
processor: (FirClassifierSymbol<*>) -> ProcessorAction processor: (FirClassifierSymbol<*>) -> ProcessorAction
): ProcessorAction { ): ProcessorAction {
val matchedClass = classIndex[name] ?: return ProcessorAction.NONE val matchedClass = classIndex[name] ?: return ProcessorAction.NONE
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.fir.scopes.impl
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
@@ -28,7 +27,6 @@ class FirSelfImportingScope(val fqName: FqName, val session: FirSession) : FirSc
override fun processClassifiersByName( override fun processClassifiersByName(
name: Name, name: Name,
position: FirPosition,
processor: (FirClassifierSymbol<*>) -> ProcessorAction processor: (FirClassifierSymbol<*>) -> ProcessorAction
): ProcessorAction { ): ProcessorAction {
if (name.asString().isEmpty()) return ProcessorAction.NONE if (name.asString().isEmpty()) return ProcessorAction.NONE
@@ -14,7 +14,6 @@ import org.jetbrains.kotlin.name.Name
abstract class FirScope { abstract class FirScope {
open fun processClassifiersByName( open fun processClassifiersByName(
name: Name, name: Name,
position: FirPosition,
processor: (FirClassifierSymbol<*>) -> ProcessorAction processor: (FirClassifierSymbol<*>) -> ProcessorAction
): ProcessorAction = NEXT ): ProcessorAction = NEXT
@@ -30,11 +29,6 @@ abstract class FirScope {
): ProcessorAction = NEXT ): ProcessorAction = NEXT
} }
enum class FirPosition(val allowTypeParameters: Boolean = true) {
SUPER_TYPE_OR_EXPANSION(allowTypeParameters = false),
OTHER
}
enum class ProcessorAction { enum class ProcessorAction {
STOP, STOP,
NEXT, NEXT,