[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 replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||||
|
|
||||||
|
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||||
|
|
||||||
abstract fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
abstract fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||||
|
|
||||||
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||||
|
|||||||
@@ -48,6 +48,10 @@ abstract class FirComponentCall : FirFunctionCall() {
|
|||||||
|
|
||||||
abstract override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>)
|
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 replaceArgumentList(newArgumentList: FirArgumentList)
|
||||||
|
|
||||||
abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||||
|
|||||||
+2
@@ -40,6 +40,8 @@ abstract class FirDelegatedConstructorCall : FirPureAbstractElement(), FirResolv
|
|||||||
|
|
||||||
abstract fun replaceConstructedTypeRef(newConstructedTypeRef: FirTypeRef)
|
abstract fun replaceConstructedTypeRef(newConstructedTypeRef: FirTypeRef)
|
||||||
|
|
||||||
|
abstract fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||||
|
|
||||||
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||||
|
|
||||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirDelegatedConstructorCall
|
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 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 fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
abstract fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||||
|
|||||||
@@ -49,6 +49,10 @@ abstract class FirImplicitInvokeCall : 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)
|
||||||
|
|||||||
+4
@@ -49,6 +49,10 @@ 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)
|
||||||
|
|||||||
+4
@@ -50,6 +50,10 @@ abstract class FirPropertyAccessExpression : FirQualifiedAccessExpression() {
|
|||||||
|
|
||||||
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 <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression
|
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression
|
||||||
|
|
||||||
abstract override fun <D> transformCalleeReference(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 replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||||
|
|
||||||
|
fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||||
|
|
||||||
|
fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||||
|
|
||||||
@FirImplementationDetail
|
@FirImplementationDetail
|
||||||
fun replaceSource(newSource: KtSourceElement?)
|
fun replaceSource(newSource: KtSourceElement?)
|
||||||
|
|
||||||
|
|||||||
+4
@@ -48,6 +48,10 @@ abstract class FirQualifiedAccessExpression : FirExpression(), FirQualifiedAcces
|
|||||||
|
|
||||||
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 <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
|
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
|
||||||
|
|
||||||
abstract override fun <D> transformCalleeReference(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 replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||||
|
|
||||||
|
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||||
|
|
||||||
abstract fun replaceCalleeReference(newCalleeReference: FirThisReference)
|
abstract fun replaceCalleeReference(newCalleeReference: FirThisReference)
|
||||||
|
|
||||||
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||||
|
|||||||
@@ -46,6 +46,10 @@ abstract class FirVariableAssignment : FirPureAbstractElement(), FirQualifiedAcc
|
|||||||
|
|
||||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||||
|
|
||||||
|
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||||
|
|
||||||
@FirImplementationDetail
|
@FirImplementationDetail
|
||||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||||
|
|
||||||
|
|||||||
+8
@@ -119,6 +119,14 @@ internal class FirCallableReferenceAccessImpl(
|
|||||||
explicitReceiver = newExplicitReceiver
|
explicitReceiver = newExplicitReceiver
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||||
|
dispatchReceiver = newDispatchReceiver
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
|
||||||
|
extensionReceiver = newExtensionReceiver
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceCalleeReference(newCalleeReference: FirNamedReference) {
|
override fun replaceCalleeReference(newCalleeReference: FirNamedReference) {
|
||||||
calleeReference = newCalleeReference
|
calleeReference = newCalleeReference
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -126,6 +126,14 @@ internal class FirComponentCallImpl(
|
|||||||
typeArguments.addAll(newTypeArguments)
|
typeArguments.addAll(newTypeArguments)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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
|
||||||
}
|
}
|
||||||
|
|||||||
+4
@@ -80,6 +80,10 @@ internal class FirDelegatedConstructorCallImpl(
|
|||||||
constructedTypeRef = newConstructedTypeRef
|
constructedTypeRef = newConstructedTypeRef
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||||
|
dispatchReceiver = newDispatchReceiver
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceCalleeReference(newCalleeReference: FirReference) {
|
override fun replaceCalleeReference(newCalleeReference: FirReference) {
|
||||||
calleeReference = newCalleeReference
|
calleeReference = newCalleeReference
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -124,6 +124,14 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
|
|||||||
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
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -126,6 +126,14 @@ internal class FirImplicitInvokeCallImpl(
|
|||||||
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
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -124,6 +124,14 @@ 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
|
||||||
}
|
}
|
||||||
|
|||||||
+2
@@ -66,6 +66,8 @@ class FirLazyDelegatedConstructorCall @FirImplementationDetail constructor(
|
|||||||
constructedTypeRef = newConstructedTypeRef
|
constructedTypeRef = newConstructedTypeRef
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {}
|
||||||
|
|
||||||
override fun replaceCalleeReference(newCalleeReference: FirReference) {
|
override fun replaceCalleeReference(newCalleeReference: FirReference) {
|
||||||
calleeReference = newCalleeReference
|
calleeReference = newCalleeReference
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -122,4 +122,12 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
|
|||||||
override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) {
|
override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) {
|
||||||
explicitReceiver = newExplicitReceiver
|
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
|
explicitReceiver = newExplicitReceiver
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||||
|
dispatchReceiver = newDispatchReceiver
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
|
||||||
|
extensionReceiver = newExtensionReceiver
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceCalleeReference(newCalleeReference: FirThisReference) {
|
override fun replaceCalleeReference(newCalleeReference: FirThisReference) {
|
||||||
calleeReference = newCalleeReference
|
calleeReference = newCalleeReference
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -127,6 +127,14 @@ internal class FirVariableAssignmentImpl(
|
|||||||
explicitReceiver = newExplicitReceiver
|
explicitReceiver = newExplicitReceiver
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||||
|
dispatchReceiver = newDispatchReceiver
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
|
||||||
|
extensionReceiver = newExtensionReceiver
|
||||||
|
}
|
||||||
|
|
||||||
@FirImplementationDetail
|
@FirImplementationDetail
|
||||||
override fun replaceSource(newSource: KtSourceElement?) {
|
override fun replaceSource(newSource: KtSourceElement?) {
|
||||||
source = newSource
|
source = newSource
|
||||||
|
|||||||
+2
-2
@@ -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).withTransform(),
|
field("dispatchReceiver", expression, withReplace = true).withTransform(),
|
||||||
field("extensionReceiver", expression).withTransform()
|
field("extensionReceiver", expression, withReplace = true).withTransform()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -396,7 +396,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
|
|
||||||
delegatedConstructorCall.configure {
|
delegatedConstructorCall.configure {
|
||||||
+field("constructedTypeRef", typeRef, withReplace = true)
|
+field("constructedTypeRef", typeRef, withReplace = true)
|
||||||
+field("dispatchReceiver", expression).withTransform()
|
+field("dispatchReceiver", expression, withReplace = true).withTransform()
|
||||||
+field("calleeReference", reference, withReplace = true)
|
+field("calleeReference", reference, withReplace = true)
|
||||||
generateBooleanFields("this", "super")
|
generateBooleanFields("this", "super")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user