[FIR] Add methods to replace dispatch and extension receivers
This commit is contained in:
committed by
Space Team
parent
4bddb27ca3
commit
d45ae59d33
+4
@@ -48,6 +48,10 @@ abstract class FirCallableReferenceAccess : FirQualifiedAccessExpression() {
|
||||
|
||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||
|
||||
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
abstract fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||
|
||||
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||
|
||||
@@ -48,6 +48,10 @@ abstract class FirComponentCall : FirFunctionCall() {
|
||||
|
||||
abstract override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>)
|
||||
|
||||
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
||||
|
||||
abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||
|
||||
+2
@@ -40,6 +40,8 @@ abstract class FirDelegatedConstructorCall : FirPureAbstractElement(), FirResolv
|
||||
|
||||
abstract fun replaceConstructedTypeRef(newConstructedTypeRef: FirTypeRef)
|
||||
|
||||
abstract fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||
|
||||
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirDelegatedConstructorCall
|
||||
|
||||
@@ -49,6 +49,10 @@ abstract class FirFunctionCall : FirQualifiedAccessExpression(), FirCall {
|
||||
|
||||
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 fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||
|
||||
@@ -49,6 +49,10 @@ abstract class FirImplicitInvokeCall : FirFunctionCall() {
|
||||
|
||||
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 replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||
|
||||
+4
@@ -49,6 +49,10 @@ abstract class FirIntegerLiteralOperatorCall : FirFunctionCall() {
|
||||
|
||||
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 replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||
|
||||
+4
@@ -50,6 +50,10 @@ abstract class FirPropertyAccessExpression : FirQualifiedAccessExpression() {
|
||||
|
||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||
|
||||
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression
|
||||
|
||||
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression
|
||||
|
||||
@@ -41,6 +41,10 @@ interface FirQualifiedAccess : FirResolvable, FirStatement, FirContextReceiverAr
|
||||
|
||||
fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||
|
||||
fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||
|
||||
fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
@FirImplementationDetail
|
||||
fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
|
||||
+4
@@ -48,6 +48,10 @@ abstract class FirQualifiedAccessExpression : FirExpression(), FirQualifiedAcces
|
||||
|
||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||
|
||||
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
|
||||
|
||||
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
|
||||
|
||||
+4
@@ -48,6 +48,10 @@ abstract class FirThisReceiverExpression : FirQualifiedAccessExpression() {
|
||||
|
||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||
|
||||
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
abstract fun replaceCalleeReference(newCalleeReference: FirThisReference)
|
||||
|
||||
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||
|
||||
@@ -46,6 +46,10 @@ abstract class FirVariableAssignment : FirPureAbstractElement(), FirQualifiedAcc
|
||||
|
||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||
|
||||
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
|
||||
+8
@@ -119,6 +119,14 @@ internal class FirCallableReferenceAccessImpl(
|
||||
explicitReceiver = newExplicitReceiver
|
||||
}
|
||||
|
||||
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||
dispatchReceiver = newDispatchReceiver
|
||||
}
|
||||
|
||||
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
override fun replaceCalleeReference(newCalleeReference: FirNamedReference) {
|
||||
calleeReference = newCalleeReference
|
||||
}
|
||||
|
||||
+8
@@ -126,6 +126,14 @@ internal class FirComponentCallImpl(
|
||||
typeArguments.addAll(newTypeArguments)
|
||||
}
|
||||
|
||||
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||
dispatchReceiver = newDispatchReceiver
|
||||
}
|
||||
|
||||
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
||||
argumentList = newArgumentList
|
||||
}
|
||||
|
||||
+4
@@ -80,6 +80,10 @@ internal class FirDelegatedConstructorCallImpl(
|
||||
constructedTypeRef = newConstructedTypeRef
|
||||
}
|
||||
|
||||
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||
dispatchReceiver = newDispatchReceiver
|
||||
}
|
||||
|
||||
override fun replaceCalleeReference(newCalleeReference: FirReference) {
|
||||
calleeReference = newCalleeReference
|
||||
}
|
||||
|
||||
@@ -124,6 +124,14 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
|
||||
explicitReceiver = newExplicitReceiver
|
||||
}
|
||||
|
||||
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||
dispatchReceiver = newDispatchReceiver
|
||||
}
|
||||
|
||||
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
||||
argumentList = newArgumentList
|
||||
}
|
||||
|
||||
+8
@@ -126,6 +126,14 @@ internal class FirImplicitInvokeCallImpl(
|
||||
explicitReceiver = newExplicitReceiver
|
||||
}
|
||||
|
||||
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||
dispatchReceiver = newDispatchReceiver
|
||||
}
|
||||
|
||||
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
||||
argumentList = newArgumentList
|
||||
}
|
||||
|
||||
+8
@@ -124,6 +124,14 @@ internal class FirIntegerLiteralOperatorCallImpl(
|
||||
explicitReceiver = newExplicitReceiver
|
||||
}
|
||||
|
||||
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||
dispatchReceiver = newDispatchReceiver
|
||||
}
|
||||
|
||||
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
||||
argumentList = newArgumentList
|
||||
}
|
||||
|
||||
+2
@@ -66,6 +66,8 @@ class FirLazyDelegatedConstructorCall @FirImplementationDetail constructor(
|
||||
constructedTypeRef = newConstructedTypeRef
|
||||
}
|
||||
|
||||
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {}
|
||||
|
||||
override fun replaceCalleeReference(newCalleeReference: FirReference) {
|
||||
calleeReference = newCalleeReference
|
||||
}
|
||||
|
||||
+8
@@ -122,4 +122,12 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
|
||||
override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) {
|
||||
explicitReceiver = newExplicitReceiver
|
||||
}
|
||||
|
||||
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||
dispatchReceiver = newDispatchReceiver
|
||||
}
|
||||
|
||||
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
}
|
||||
|
||||
+8
@@ -121,6 +121,14 @@ internal class FirThisReceiverExpressionImpl(
|
||||
explicitReceiver = newExplicitReceiver
|
||||
}
|
||||
|
||||
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||
dispatchReceiver = newDispatchReceiver
|
||||
}
|
||||
|
||||
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
override fun replaceCalleeReference(newCalleeReference: FirThisReference) {
|
||||
calleeReference = newCalleeReference
|
||||
}
|
||||
|
||||
+8
@@ -127,6 +127,14 @@ internal class FirVariableAssignmentImpl(
|
||||
explicitReceiver = newExplicitReceiver
|
||||
}
|
||||
|
||||
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||
dispatchReceiver = newDispatchReceiver
|
||||
}
|
||||
|
||||
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
|
||||
+2
-2
@@ -26,8 +26,8 @@ object FieldSets {
|
||||
val receivers by lazy {
|
||||
fieldSet(
|
||||
field("explicitReceiver", expression, nullable = true, withReplace = true).withTransform(),
|
||||
field("dispatchReceiver", expression).withTransform(),
|
||||
field("extensionReceiver", expression).withTransform()
|
||||
field("dispatchReceiver", expression, withReplace = true).withTransform(),
|
||||
field("extensionReceiver", expression, withReplace = true).withTransform()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -396,7 +396,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
|
||||
delegatedConstructorCall.configure {
|
||||
+field("constructedTypeRef", typeRef, withReplace = true)
|
||||
+field("dispatchReceiver", expression).withTransform()
|
||||
+field("dispatchReceiver", expression, withReplace = true).withTransform()
|
||||
+field("calleeReference", reference, withReplace = true)
|
||||
generateBooleanFields("this", "super")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user