diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/TowerLevels.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/TowerLevels.kt index 0c63caf75ea..09149969233 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/TowerLevels.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/TowerLevels.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.resolve.BodyResolveComponents import org.jetbrains.kotlin.fir.resolve.ScopeSession -import org.jetbrains.kotlin.fir.resolve.firSymbolProvider import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.impl.FirAbstractImportingScope @@ -49,16 +48,6 @@ interface TowerScopeLevel { } abstract class SessionBasedTowerLevel(val session: FirSession) : TowerScopeLevel { - protected fun AbstractFirBasedSymbol<*>.dispatchReceiverValue(): ClassDispatchReceiverValue? { - return when (this) { - is FirNamedFunctionSymbol -> fir.dispatchReceiverValue(session) - is FirPropertySymbol -> fir.dispatchReceiverValue(session) - is FirFieldSymbol -> fir.dispatchReceiverValue(session) - is FirClassSymbol -> ClassDispatchReceiverValue(this) - else -> null - } - } - protected fun FirCallableSymbol<*>.hasConsistentExtensionReceiver(extensionReceiver: Receiver?): Boolean { return (extensionReceiver != null) == hasExtensionReceiver() } @@ -227,16 +216,6 @@ class NotNullableReceiverValue(val value: ReceiverValue) : ReceiverValue { get() = value.receiverExpression } -fun FirCallableDeclaration<*>.dispatchReceiverValue(session: FirSession): ClassDispatchReceiverValue? { - // TODO: this is not true atCall least for inner class constructors - if (this is FirConstructor) return null - if ((this as? FirMemberDeclaration)?.isStatic == true) return null - val id = this.symbol.callableId.classId ?: return null - val symbol = session.firSymbolProvider.getClassLikeSymbolByFqName(id) as? FirClassSymbol ?: return null - - return ClassDispatchReceiverValue(symbol) -} - private fun FirCallableSymbol<*>.hasExtensionReceiver(): Boolean { return fir.receiverTypeRef != null }