diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaConstructor.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaConstructor.kt index ad8054fb988..d7415821148 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaConstructor.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaConstructor.kt @@ -115,4 +115,11 @@ class FirJavaConstructor( override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) { returnTypeRef = newReturnTypeRef } + + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {} + + override fun replaceValueParameters(newValueParameters: List) { + valueParameters.clear() + valueParameters.addAll(newValueParameters) + } } diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaField.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaField.kt index f72bc323258..98efa7bf1c2 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaField.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaField.kt @@ -115,4 +115,6 @@ class FirJavaField( override fun transformInitializer(transformer: FirTransformer, data: D): FirField { return this } + + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {} } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableDeclaration.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableDeclaration.kt index 3bd0440ce75..6c394bc4221 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableDeclaration.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableDeclaration.kt @@ -29,6 +29,8 @@ interface FirCallableDeclaration> : FirTypedDeclar override fun accept(visitor: FirVisitor, data: D): R = visitor.visitCallableDeclaration(this, data) + fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) + override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirCallableDeclaration fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirCallableDeclaration diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFunction.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFunction.kt index cb1a62c6555..78dc7fd3ba8 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFunction.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFunction.kt @@ -37,6 +37,8 @@ interface FirFunction> : FirCallableDeclaration, FirTarget override fun accept(visitor: FirVisitor, data: D): R = visitor.visitFunction(this, data) + fun replaceValueParameters(newValueParameters: List) + override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirFunction override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirFunction diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt index c0a15c9349b..ee2ab00709f 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt @@ -103,6 +103,15 @@ class FirAnonymousFunctionImpl( returnTypeRef = newReturnTypeRef } + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) { + receiverTypeRef = newReceiverTypeRef + } + + override fun replaceValueParameters(newValueParameters: List) { + valueParameters.clear() + valueParameters.addAll(newValueParameters) + } + override fun replaceTypeRef(newTypeRef: FirTypeRef) { typeRef = newTypeRef } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt index d9d5f10a36b..cb412061859 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt @@ -105,4 +105,13 @@ open class FirConstructorImpl( override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) { returnTypeRef = newReturnTypeRef } + + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) { + receiverTypeRef = newReceiverTypeRef + } + + override fun replaceValueParameters(newValueParameters: List) { + valueParameters.clear() + valueParameters.addAll(newValueParameters) + } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt index 42a8e6ff936..57d01d5dbf9 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt @@ -111,4 +111,8 @@ class FirDefaultSetterValueParameter( override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) { returnTypeRef = newReturnTypeRef } + + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) { + receiverTypeRef = newReceiverTypeRef + } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt index 1862aeb6f7d..e79ce9c0015 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt @@ -109,4 +109,6 @@ class FirEnumEntryImpl( override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) { returnTypeRef = newReturnTypeRef } + + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {} } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorFunctionImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorFunctionImpl.kt index 34785a02b20..acdba8b0fc9 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorFunctionImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorFunctionImpl.kt @@ -89,4 +89,11 @@ class FirErrorFunctionImpl( override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) { returnTypeRef = newReturnTypeRef } + + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {} + + override fun replaceValueParameters(newValueParameters: List) { + valueParameters.clear() + valueParameters.addAll(newValueParameters) + } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFieldImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFieldImpl.kt index a9b8ef85539..dd7014c5f34 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFieldImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFieldImpl.kt @@ -106,4 +106,6 @@ class FirFieldImpl( override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) { returnTypeRef = newReturnTypeRef } + + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {} } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableConstructor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableConstructor.kt index a7c286245f4..9bd207d13a7 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableConstructor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableConstructor.kt @@ -60,4 +60,8 @@ abstract class FirModifiableConstructor : FirPureAbstractElement(), FirConstruct abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) + + abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) + + abstract override fun replaceValueParameters(newValueParameters: List) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableFunction.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableFunction.kt index 63074fff816..f828b03159a 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableFunction.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableFunction.kt @@ -50,4 +50,8 @@ interface FirModifiableFunction> : FirFunction, FirAbstra override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) + + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) + + override fun replaceValueParameters(newValueParameters: List) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableVariable.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableVariable.kt index b7c2f20eec2..f8591508034 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableVariable.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableVariable.kt @@ -57,4 +57,6 @@ interface FirModifiableVariable> : FirVariable, FirAbstra override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) + + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyAccessorImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyAccessorImpl.kt index b8aa23e671f..4905fe08f16 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyAccessorImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyAccessorImpl.kt @@ -113,4 +113,13 @@ open class FirPropertyAccessorImpl( override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) { returnTypeRef = newReturnTypeRef } + + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) { + receiverTypeRef = newReceiverTypeRef + } + + override fun replaceValueParameters(newValueParameters: List) { + valueParameters.clear() + valueParameters.addAll(newValueParameters) + } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyImpl.kt index c0292df838f..4f70485f0ea 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyImpl.kt @@ -134,4 +134,8 @@ class FirPropertyImpl( override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) { returnTypeRef = newReturnTypeRef } + + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) { + receiverTypeRef = newReceiverTypeRef + } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt index 7005f75ebb4..487074c8fca 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt @@ -114,4 +114,13 @@ open class FirSimpleFunctionImpl( override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) { returnTypeRef = newReturnTypeRef } + + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) { + receiverTypeRef = newReceiverTypeRef + } + + override fun replaceValueParameters(newValueParameters: List) { + valueParameters.clear() + valueParameters.addAll(newValueParameters) + } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt index 23d294130ce..46c8375994b 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt @@ -111,4 +111,8 @@ open class FirValueParameterImpl( override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) { returnTypeRef = newReturnTypeRef } + + override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) { + receiverTypeRef = newReceiverTypeRef + } } diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt index 55f88d6001a..1eeeb22e838 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt @@ -71,7 +71,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild callableDeclaration.configure { withArg("F", "FirCallableDeclaration") parentArg(symbolOwner, "E", "F") - +field("receiverTypeRef", typeRef, nullable = true).withTransform() + +field("receiverTypeRef", typeRef, nullable = true, withReplace = true).withTransform() +symbol("FirCallableSymbol", "F") } @@ -86,7 +86,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild parentArg(callableDeclaration, "F", "F") +controlFlowGraphReferenceField.withTransform() +symbol("FirFunctionSymbol", "F") - +valueParameters.withTransform() + +fieldList(valueParameter, withReplace = true).withTransform() +body(nullable = true) }