FIR: Drop unused ImplicitDispatchReceiverKind
This commit is contained in:
@@ -11,7 +11,10 @@ import org.jetbrains.kotlin.fir.FirCallResolver
|
|||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.FirSymbolOwner
|
import org.jetbrains.kotlin.fir.FirSymbolOwner
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.calls.*
|
import org.jetbrains.kotlin.fir.resolve.calls.ImplicitDispatchReceiverValue
|
||||||
|
import org.jetbrains.kotlin.fir.resolve.calls.ImplicitExtensionReceiverValue
|
||||||
|
import org.jetbrains.kotlin.fir.resolve.calls.ImplicitReceiverValue
|
||||||
|
import org.jetbrains.kotlin.fir.resolve.calls.ResolutionStageRunner
|
||||||
import org.jetbrains.kotlin.fir.resolve.dfa.FirDataFlowAnalyzer
|
import org.jetbrains.kotlin.fir.resolve.dfa.FirDataFlowAnalyzer
|
||||||
import org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter
|
import org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter
|
||||||
import org.jetbrains.kotlin.fir.resolve.inference.InferenceComponents
|
import org.jetbrains.kotlin.fir.resolve.inference.InferenceComponents
|
||||||
@@ -179,7 +182,7 @@ fun SessionHolder.collectTowerDataElementsForClass(owner: FirClass<*>, defaultTy
|
|||||||
val companionObject = (owner as? FirRegularClass)?.companionObject
|
val companionObject = (owner as? FirRegularClass)?.companionObject
|
||||||
val companionReceiver = companionObject?.let { companion ->
|
val companionReceiver = companionObject?.let { companion ->
|
||||||
ImplicitDispatchReceiverValue(
|
ImplicitDispatchReceiverValue(
|
||||||
companion.symbol, session, scopeSession, kind = ImplicitDispatchReceiverKind.COMPANION
|
companion.symbol, session, scopeSession
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
allImplicitCompanionValues.addIfNotNull(companionReceiver)
|
allImplicitCompanionValues.addIfNotNull(companionReceiver)
|
||||||
@@ -192,7 +195,7 @@ fun SessionHolder.collectTowerDataElementsForClass(owner: FirClass<*>, defaultTy
|
|||||||
|
|
||||||
(superClass as? FirRegularClass)?.companionObject?.let { companion ->
|
(superClass as? FirRegularClass)?.companionObject?.let { companion ->
|
||||||
val superCompanionReceiver = ImplicitDispatchReceiverValue(
|
val superCompanionReceiver = ImplicitDispatchReceiverValue(
|
||||||
companion.symbol, session, scopeSession, kind = ImplicitDispatchReceiverKind.COMPANION_FROM_SUPERTYPE
|
companion.symbol, session, scopeSession
|
||||||
)
|
)
|
||||||
|
|
||||||
superClassesStaticsAndCompanionReceivers += superCompanionReceiver.asTowerDataElement()
|
superClassesStaticsAndCompanionReceivers += superCompanionReceiver.asTowerDataElement()
|
||||||
|
|||||||
@@ -6,10 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.resolve.calls
|
package org.jetbrains.kotlin.fir.resolve.calls
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.expandedConeType
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirThisReceiverExpression
|
import org.jetbrains.kotlin.fir.expressions.FirThisReceiverExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildExpressionWithSmartcast
|
import org.jetbrains.kotlin.fir.expressions.builder.buildExpressionWithSmartcast
|
||||||
@@ -21,15 +18,12 @@ import org.jetbrains.kotlin.fir.resolve.constructType
|
|||||||
import org.jetbrains.kotlin.fir.resolve.scope
|
import org.jetbrains.kotlin.fir.resolve.scope
|
||||||
import org.jetbrains.kotlin.fir.resolvedTypeFromPrototype
|
import org.jetbrains.kotlin.fir.resolvedTypeFromPrototype
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||||
import org.jetbrains.kotlin.fir.scopes.impl.nestedClassifierScope
|
|
||||||
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol
|
|
||||||
import org.jetbrains.kotlin.fir.types.*
|
import org.jetbrains.kotlin.fir.types.*
|
||||||
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
|
||||||
|
|
||||||
interface Receiver {
|
interface Receiver {
|
||||||
|
|
||||||
@@ -119,35 +113,18 @@ sealed class ImplicitReceiverValue<S : AbstractFirBasedSymbol<*>>(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal enum class ImplicitDispatchReceiverKind {
|
|
||||||
REGULAR,
|
|
||||||
REGULAR_IN_DELEGATED,
|
|
||||||
COMPANION,
|
|
||||||
COMPANION_FROM_SUPERTYPE
|
|
||||||
}
|
|
||||||
|
|
||||||
class ImplicitDispatchReceiverValue internal constructor(
|
class ImplicitDispatchReceiverValue internal constructor(
|
||||||
boundSymbol: FirClassSymbol<*>,
|
boundSymbol: FirClassSymbol<*>,
|
||||||
type: ConeKotlinType,
|
type: ConeKotlinType,
|
||||||
useSiteSession: FirSession,
|
useSiteSession: FirSession,
|
||||||
scopeSession: ScopeSession,
|
scopeSession: ScopeSession
|
||||||
private val kind: ImplicitDispatchReceiverKind = ImplicitDispatchReceiverKind.REGULAR
|
|
||||||
) : ImplicitReceiverValue<FirClassSymbol<*>>(boundSymbol, type, useSiteSession, scopeSession) {
|
) : ImplicitReceiverValue<FirClassSymbol<*>>(boundSymbol, type, useSiteSession, scopeSession) {
|
||||||
internal constructor(
|
internal constructor(
|
||||||
boundSymbol: FirClassSymbol<*>, useSiteSession: FirSession, scopeSession: ScopeSession, kind: ImplicitDispatchReceiverKind
|
boundSymbol: FirClassSymbol<*>, useSiteSession: FirSession, scopeSession: ScopeSession
|
||||||
) : this(
|
) : this(
|
||||||
boundSymbol, boundSymbol.constructType(typeArguments = emptyArray(), isNullable = false),
|
boundSymbol, boundSymbol.constructType(typeArguments = emptyArray(), isNullable = false),
|
||||||
useSiteSession, scopeSession, kind
|
useSiteSession, scopeSession
|
||||||
)
|
)
|
||||||
|
|
||||||
fun copyForDelegated(): ImplicitDispatchReceiverValue =
|
|
||||||
ImplicitDispatchReceiverValue(boundSymbol, type, useSiteSession, scopeSession, ImplicitDispatchReceiverKind.REGULAR_IN_DELEGATED)
|
|
||||||
|
|
||||||
val inDelegated: Boolean get() = kind == ImplicitDispatchReceiverKind.REGULAR_IN_DELEGATED
|
|
||||||
|
|
||||||
val implicitCompanion: Boolean get() = kind != ImplicitDispatchReceiverKind.REGULAR
|
|
||||||
|
|
||||||
val companionFromSupertype: Boolean get() = kind == ImplicitDispatchReceiverKind.COMPANION_FROM_SUPERTYPE
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class ImplicitExtensionReceiverValue(
|
class ImplicitExtensionReceiverValue(
|
||||||
|
|||||||
Reference in New Issue
Block a user