[FIR] Drop transformExtensionReceiver and transformDispatchReceiver from FirQualifiedAccess

After removal of `StoreReceiver` transformers those methods are not used
  anymore, so it's ok to remove them at all
This commit is contained in:
Dmitriy Novozhilov
2022-12-19 13:26:36 +02:00
committed by Space Team
parent 02e327277e
commit d75160250d
21 changed files with 37 additions and 137 deletions
@@ -64,9 +64,5 @@ abstract class FirCallableReferenceAccess : FirQualifiedAccessExpression() {
abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirCallableReferenceAccess abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirCallableReferenceAccess
abstract override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirCallableReferenceAccess
abstract override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirCallableReferenceAccess
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirCallableReferenceAccess abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirCallableReferenceAccess
} }
@@ -64,10 +64,6 @@ abstract class FirComponentCall : FirFunctionCall() {
abstract override fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirComponentCall abstract override fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirComponentCall
abstract override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirComponentCall
abstract override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirComponentCall
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirComponentCall abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirComponentCall
abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirComponentCall abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirComponentCall
@@ -65,9 +65,5 @@ abstract class FirFunctionCall : FirQualifiedAccessExpression(), FirCall {
abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirFunctionCall abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirFunctionCall
abstract override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirFunctionCall
abstract override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirFunctionCall
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirFunctionCall abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirFunctionCall
} }
@@ -65,9 +65,5 @@ abstract class FirImplicitInvokeCall : FirFunctionCall() {
abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirImplicitInvokeCall abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirImplicitInvokeCall
abstract override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirImplicitInvokeCall
abstract override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirImplicitInvokeCall
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirImplicitInvokeCall abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirImplicitInvokeCall
} }
@@ -26,11 +26,11 @@ abstract class FirIntegerLiteralOperatorCall : FirFunctionCall() {
abstract override val contextReceiverArguments: List<FirExpression> abstract override val contextReceiverArguments: List<FirExpression>
abstract override val typeArguments: List<FirTypeProjection> abstract override val typeArguments: List<FirTypeProjection>
abstract override val explicitReceiver: FirExpression? abstract override val explicitReceiver: FirExpression?
abstract override val dispatchReceiver: FirExpression
abstract override val extensionReceiver: FirExpression
abstract override val argumentList: FirArgumentList abstract override val argumentList: FirArgumentList
abstract override val calleeReference: FirNamedReference abstract override val calleeReference: FirNamedReference
abstract override val origin: FirFunctionCallOrigin abstract override val origin: FirFunctionCallOrigin
abstract override val dispatchReceiver: FirExpression
abstract override val extensionReceiver: FirExpression
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitIntegerLiteralOperatorCall(this, data) override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitIntegerLiteralOperatorCall(this, data)
@@ -49,25 +49,25 @@ abstract class FirIntegerLiteralOperatorCall : FirFunctionCall() {
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList) abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference) abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference)
abstract override fun replaceCalleeReference(newCalleeReference: FirReference) abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCall abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCall
abstract override fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCall abstract override fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCall
abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCall abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCall
abstract override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCall
abstract override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCall
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCall abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCall
abstract fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCall
abstract fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCall
} }
@@ -61,8 +61,4 @@ abstract class FirPropertyAccessExpression : FirQualifiedAccessExpression() {
abstract override fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression abstract override fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression
abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression
abstract override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression
abstract override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression
} }
@@ -55,8 +55,4 @@ interface FirQualifiedAccess : FirResolvable, FirStatement, FirContextReceiverAr
fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirQualifiedAccess fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirQualifiedAccess
fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirQualifiedAccess fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirQualifiedAccess
fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirQualifiedAccess
fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirQualifiedAccess
} }
@@ -59,8 +59,4 @@ abstract class FirQualifiedAccessExpression : FirExpression(), FirQualifiedAcces
abstract override fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression abstract override fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
abstract override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
abstract override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
} }
@@ -62,9 +62,5 @@ abstract class FirThisReceiverExpression : FirQualifiedAccessExpression() {
abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirThisReceiverExpression abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirThisReceiverExpression
abstract override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirThisReceiverExpression
abstract override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirThisReceiverExpression
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirThisReceiverExpression abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirThisReceiverExpression
} }
@@ -63,9 +63,5 @@ abstract class FirVariableAssignment : FirPureAbstractElement(), FirQualifiedAcc
abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirVariableAssignment abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirVariableAssignment
abstract override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirVariableAssignment
abstract override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirVariableAssignment
abstract fun <D> transformRValue(transformer: FirTransformer<D>, data: D): FirVariableAssignment abstract fun <D> transformRValue(transformer: FirTransformer<D>, data: D): FirVariableAssignment
} }
@@ -41,11 +41,11 @@ open class FirIntegerLiteralOperatorCallBuilder : FirAbstractFunctionCallBuilder
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf() override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
override val typeArguments: MutableList<FirTypeProjection> = mutableListOf() override val typeArguments: MutableList<FirTypeProjection> = mutableListOf()
override var explicitReceiver: FirExpression? = null override var explicitReceiver: FirExpression? = null
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
override var extensionReceiver: FirExpression = FirNoReceiverExpression
override var argumentList: FirArgumentList = FirEmptyArgumentList override var argumentList: FirArgumentList = FirEmptyArgumentList
override lateinit var calleeReference: FirNamedReference override lateinit var calleeReference: FirNamedReference
override lateinit var origin: FirFunctionCallOrigin override lateinit var origin: FirFunctionCallOrigin
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
override var extensionReceiver: FirExpression = FirNoReceiverExpression
override fun build(): FirIntegerLiteralOperatorCall { override fun build(): FirIntegerLiteralOperatorCall {
return FirIntegerLiteralOperatorCallImpl( return FirIntegerLiteralOperatorCallImpl(
@@ -55,11 +55,11 @@ open class FirIntegerLiteralOperatorCallBuilder : FirAbstractFunctionCallBuilder
contextReceiverArguments, contextReceiverArguments,
typeArguments, typeArguments,
explicitReceiver, explicitReceiver,
dispatchReceiver,
extensionReceiver,
argumentList, argumentList,
calleeReference, calleeReference,
origin, origin,
dispatchReceiver,
extensionReceiver,
) )
} }
@@ -81,16 +81,6 @@ internal class FirCallableReferenceAccessImpl(
return this return this
} }
override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirCallableReferenceAccessImpl {
dispatchReceiver = dispatchReceiver.transform(transformer, data)
return this
}
override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirCallableReferenceAccessImpl {
extensionReceiver = extensionReceiver.transform(transformer, data)
return this
}
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirCallableReferenceAccessImpl { override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirCallableReferenceAccessImpl {
calleeReference = calleeReference.transform(transformer, data) calleeReference = calleeReference.transform(transformer, data)
return this return this
@@ -87,16 +87,6 @@ internal class FirComponentCallImpl(
return this return this
} }
override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirComponentCallImpl {
dispatchReceiver = dispatchReceiver.transform(transformer, data)
return this
}
override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirComponentCallImpl {
extensionReceiver = extensionReceiver.transform(transformer, data)
return this
}
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirComponentCallImpl { override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirComponentCallImpl {
calleeReference = calleeReference.transform(transformer, data) calleeReference = calleeReference.transform(transformer, data)
return this return this
@@ -86,16 +86,6 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
return this return this
} }
override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirFunctionCallImpl {
dispatchReceiver = dispatchReceiver.transform(transformer, data)
return this
}
override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirFunctionCallImpl {
extensionReceiver = extensionReceiver.transform(transformer, data)
return this
}
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirFunctionCallImpl { override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirFunctionCallImpl {
calleeReference = calleeReference.transform(transformer, data) calleeReference = calleeReference.transform(transformer, data)
return this return this
@@ -88,16 +88,6 @@ internal class FirImplicitInvokeCallImpl(
return this return this
} }
override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirImplicitInvokeCallImpl {
dispatchReceiver = dispatchReceiver.transform(transformer, data)
return this
}
override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirImplicitInvokeCallImpl {
extensionReceiver = extensionReceiver.transform(transformer, data)
return this
}
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirImplicitInvokeCallImpl { override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirImplicitInvokeCallImpl {
calleeReference = calleeReference.transform(transformer, data) calleeReference = calleeReference.transform(transformer, data)
return this return this
@@ -32,11 +32,11 @@ internal class FirIntegerLiteralOperatorCallImpl(
override val contextReceiverArguments: MutableList<FirExpression>, override val contextReceiverArguments: MutableList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>, override val typeArguments: MutableList<FirTypeProjection>,
override var explicitReceiver: FirExpression?, override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression,
override var extensionReceiver: FirExpression,
override var argumentList: FirArgumentList, override var argumentList: FirArgumentList,
override var calleeReference: FirNamedReference, override var calleeReference: FirNamedReference,
override val origin: FirFunctionCallOrigin, override val origin: FirFunctionCallOrigin,
override var dispatchReceiver: FirExpression,
override var extensionReceiver: FirExpression,
) : FirIntegerLiteralOperatorCall() { ) : FirIntegerLiteralOperatorCall() {
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) { override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
typeRef.accept(visitor, data) typeRef.accept(visitor, data)
@@ -86,6 +86,11 @@ internal class FirIntegerLiteralOperatorCallImpl(
return this return this
} }
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCallImpl {
calleeReference = calleeReference.transform(transformer, data)
return this
}
override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCallImpl { override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCallImpl {
dispatchReceiver = dispatchReceiver.transform(transformer, data) dispatchReceiver = dispatchReceiver.transform(transformer, data)
return this return this
@@ -96,11 +101,6 @@ internal class FirIntegerLiteralOperatorCallImpl(
return this return this
} }
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCallImpl {
calleeReference = calleeReference.transform(transformer, data)
return this
}
@FirImplementationDetail @FirImplementationDetail
override fun replaceSource(newSource: KtSourceElement?) { override fun replaceSource(newSource: KtSourceElement?) {
source = newSource source = newSource
@@ -124,14 +124,6 @@ internal class FirIntegerLiteralOperatorCallImpl(
explicitReceiver = newExplicitReceiver explicitReceiver = newExplicitReceiver
} }
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
dispatchReceiver = newDispatchReceiver
}
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
extensionReceiver = newExtensionReceiver
}
override fun replaceArgumentList(newArgumentList: FirArgumentList) { override fun replaceArgumentList(newArgumentList: FirArgumentList) {
argumentList = newArgumentList argumentList = newArgumentList
} }
@@ -144,4 +136,12 @@ internal class FirIntegerLiteralOperatorCallImpl(
require(newCalleeReference is FirNamedReference) require(newCalleeReference is FirNamedReference)
replaceCalleeReference(newCalleeReference) replaceCalleeReference(newCalleeReference)
} }
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
dispatchReceiver = newDispatchReceiver
}
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
extensionReceiver = newExtensionReceiver
}
} }
@@ -86,16 +86,6 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
return this return this
} }
override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpressionImpl {
dispatchReceiver = dispatchReceiver.transform(transformer, data)
return this
}
override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpressionImpl {
extensionReceiver = extensionReceiver.transform(transformer, data)
return this
}
@FirImplementationDetail @FirImplementationDetail
override fun replaceSource(newSource: KtSourceElement?) { override fun replaceSource(newSource: KtSourceElement?) {
source = newSource source = newSource
@@ -83,16 +83,6 @@ internal class FirThisReceiverExpressionImpl(
return this return this
} }
override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirThisReceiverExpressionImpl {
dispatchReceiver = dispatchReceiver.transform(transformer, data)
return this
}
override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirThisReceiverExpressionImpl {
extensionReceiver = extensionReceiver.transform(transformer, data)
return this
}
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirThisReceiverExpressionImpl { override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirThisReceiverExpressionImpl {
calleeReference = calleeReference.transform(transformer, data) calleeReference = calleeReference.transform(transformer, data)
return this return this
@@ -94,16 +94,6 @@ internal class FirVariableAssignmentImpl(
return this return this
} }
override fun <D> transformDispatchReceiver(transformer: FirTransformer<D>, data: D): FirVariableAssignmentImpl {
dispatchReceiver = dispatchReceiver.transform(transformer, data)
return this
}
override fun <D> transformExtensionReceiver(transformer: FirTransformer<D>, data: D): FirVariableAssignmentImpl {
extensionReceiver = extensionReceiver.transform(transformer, data)
return this
}
override fun <D> transformRValue(transformer: FirTransformer<D>, data: D): FirVariableAssignmentImpl { override fun <D> transformRValue(transformer: FirTransformer<D>, data: D): FirVariableAssignmentImpl {
rValue = rValue.transform(transformer, data) rValue = rValue.transform(transformer, data)
return this return this
@@ -26,8 +26,8 @@ object FieldSets {
val receivers by lazy { val receivers by lazy {
fieldSet( fieldSet(
field("explicitReceiver", expression, nullable = true, withReplace = true).withTransform(), field("explicitReceiver", expression, nullable = true, withReplace = true).withTransform(),
field("dispatchReceiver", expression, withReplace = true).withTransform(), field("dispatchReceiver", expression, withReplace = true),
field("extensionReceiver", expression, withReplace = true).withTransform() field("extensionReceiver", expression, withReplace = true)
) )
} }
@@ -232,6 +232,12 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
+field("origin", functionCallOrigin) +field("origin", functionCallOrigin)
} }
integerLiteralOperatorCall.configure {
// we need methods for transformation of receivers
+field("dispatchReceiver", expression, withReplace = true).withTransform()
+field("extensionReceiver", expression, withReplace = true).withTransform()
}
comparisonExpression.configure { comparisonExpression.configure {
+field("operation", operationType) +field("operation", operationType)
+field("compareToCall", functionCall) +field("compareToCall", functionCall)