Remove unused 'dispatchReceiverValue()' from FIR tower levels

This commit is contained in:
Mikhail Glukhikh
2020-02-18 15:15:40 +03:00
parent e051251b27
commit 1376dbf9cf
@@ -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
}