diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirIntegerOperatorCall.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirIntegerOperatorCall.kt index 52545f7931c..8ea5ceb5ad4 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirIntegerOperatorCall.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirIntegerOperatorCall.kt @@ -34,6 +34,7 @@ class FirIntegerOperatorCall @FirImplementationDetail constructor( argumentList: FirArgumentList, calleeReference: FirNamedReference, ) : FirFunctionCallImpl( + source, typeRef, annotations, typeArguments, @@ -42,7 +43,6 @@ class FirIntegerOperatorCall @FirImplementationDetail constructor( extensionReceiver, argumentList, calleeReference, - source, ) @FirBuilderDsl diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirCallableReferenceAccess.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirCallableReferenceAccess.kt index 1aee65d79b2..2fb9084867a 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirCallableReferenceAccess.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirCallableReferenceAccess.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail */ abstract class FirCallableReferenceAccess : FirQualifiedAccessExpression() { + abstract override val source: FirSourceElement? abstract override val typeRef: FirTypeRef abstract override val annotations: List abstract override val typeArguments: List @@ -27,10 +28,12 @@ abstract class FirCallableReferenceAccess : FirQualifiedAccessExpression() { abstract override val extensionReceiver: FirExpression abstract override val calleeReference: FirNamedReference abstract val hasQuestionMarkAtLHS: Boolean - abstract override val source: FirSourceElement? override fun accept(visitor: FirVisitor, data: D): R = visitor.visitCallableReferenceAccess(this, data) + @FirImplementationDetail + abstract override fun replaceSource(newSource: FirSourceElement?) + abstract override fun replaceTypeRef(newTypeRef: FirTypeRef) abstract override fun replaceTypeArguments(newTypeArguments: List) @@ -43,9 +46,6 @@ abstract class FirCallableReferenceAccess : FirQualifiedAccessExpression() { abstract fun replaceHasQuestionMarkAtLHS(newHasQuestionMarkAtLHS: Boolean) - @FirImplementationDetail - abstract override fun replaceSource(newSource: FirSourceElement?) - abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirCallableReferenceAccess abstract override fun transformTypeArguments(transformer: FirTransformer, data: D): FirCallableReferenceAccess diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirComponentCall.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirComponentCall.kt index f5b91d6d9f8..f007b03b325 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirComponentCall.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirComponentCall.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail */ abstract class FirComponentCall : FirFunctionCall() { + abstract override val source: FirSourceElement? abstract override val typeRef: FirTypeRef abstract override val annotations: List abstract override val typeArguments: List @@ -26,12 +27,14 @@ abstract class FirComponentCall : FirFunctionCall() { abstract override val extensionReceiver: FirExpression abstract override val argumentList: FirArgumentList abstract override val calleeReference: FirNamedReference - abstract override val source: FirSourceElement? abstract override val explicitReceiver: FirExpression abstract val componentIndex: Int override fun accept(visitor: FirVisitor, data: D): R = visitor.visitComponentCall(this, data) + @FirImplementationDetail + abstract override fun replaceSource(newSource: FirSourceElement?) + abstract override fun replaceTypeRef(newTypeRef: FirTypeRef) abstract override fun replaceTypeArguments(newTypeArguments: List) @@ -42,9 +45,6 @@ abstract class FirComponentCall : FirFunctionCall() { abstract override fun replaceCalleeReference(newCalleeReference: FirReference) - @FirImplementationDetail - abstract override fun replaceSource(newSource: FirSourceElement?) - abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirComponentCall diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirExpressionWithSmartcast.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirExpressionWithSmartcast.kt index f46d777d0e0..83c856f8fb3 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirExpressionWithSmartcast.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirExpressionWithSmartcast.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail */ abstract class FirExpressionWithSmartcast : FirQualifiedAccessExpression() { + abstract override val source: FirSourceElement? abstract override val typeRef: FirTypeRef abstract override val annotations: List abstract override val calleeReference: FirReference @@ -29,10 +30,12 @@ abstract class FirExpressionWithSmartcast : FirQualifiedAccessExpression() { abstract val originalExpression: FirQualifiedAccessExpression abstract val typesFromSmartCast: Collection abstract val originalType: FirTypeRef - abstract override val source: FirSourceElement? override fun accept(visitor: FirVisitor, data: D): R = visitor.visitExpressionWithSmartcast(this, data) + @FirImplementationDetail + abstract override fun replaceSource(newSource: FirSourceElement?) + abstract override fun replaceTypeRef(newTypeRef: FirTypeRef) abstract override fun replaceCalleeReference(newCalleeReference: FirReference) @@ -41,9 +44,6 @@ abstract class FirExpressionWithSmartcast : FirQualifiedAccessExpression() { abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) - @FirImplementationDetail - abstract override fun replaceSource(newSource: FirSourceElement?) - abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirExpressionWithSmartcast abstract override fun transformCalleeReference(transformer: FirTransformer, data: D): FirExpressionWithSmartcast diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirFunctionCall.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirFunctionCall.kt index 3f2420445c8..8f43c63c232 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirFunctionCall.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirFunctionCall.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail */ abstract class FirFunctionCall : FirQualifiedAccessExpression(), FirCall { + abstract override val source: FirSourceElement? abstract override val typeRef: FirTypeRef abstract override val annotations: List abstract override val typeArguments: List @@ -27,10 +28,12 @@ abstract class FirFunctionCall : FirQualifiedAccessExpression(), FirCall { abstract override val extensionReceiver: FirExpression abstract override val argumentList: FirArgumentList abstract override val calleeReference: FirNamedReference - abstract override val source: FirSourceElement? override fun accept(visitor: FirVisitor, data: D): R = visitor.visitFunctionCall(this, data) + @FirImplementationDetail + abstract override fun replaceSource(newSource: FirSourceElement?) + abstract override fun replaceTypeRef(newTypeRef: FirTypeRef) abstract override fun replaceTypeArguments(newTypeArguments: List) @@ -43,9 +46,6 @@ abstract class FirFunctionCall : FirQualifiedAccessExpression(), FirCall { abstract override fun replaceCalleeReference(newCalleeReference: FirReference) - @FirImplementationDetail - abstract override fun replaceSource(newSource: FirSourceElement?) - abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirFunctionCall abstract override fun transformTypeArguments(transformer: FirTransformer, data: D): FirFunctionCall diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirImplicitInvokeCall.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirImplicitInvokeCall.kt index 59e166494a3..f9539653be3 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirImplicitInvokeCall.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirImplicitInvokeCall.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail */ abstract class FirImplicitInvokeCall : FirFunctionCall() { + abstract override val source: FirSourceElement? abstract override val typeRef: FirTypeRef abstract override val annotations: List abstract override val typeArguments: List @@ -27,10 +28,12 @@ abstract class FirImplicitInvokeCall : FirFunctionCall() { abstract override val extensionReceiver: FirExpression abstract override val argumentList: FirArgumentList abstract override val calleeReference: FirNamedReference - abstract override val source: FirSourceElement? override fun accept(visitor: FirVisitor, data: D): R = visitor.visitImplicitInvokeCall(this, data) + @FirImplementationDetail + abstract override fun replaceSource(newSource: FirSourceElement?) + abstract override fun replaceTypeRef(newTypeRef: FirTypeRef) abstract override fun replaceTypeArguments(newTypeArguments: List) @@ -43,9 +46,6 @@ abstract class FirImplicitInvokeCall : FirFunctionCall() { abstract override fun replaceCalleeReference(newCalleeReference: FirReference) - @FirImplementationDetail - abstract override fun replaceSource(newSource: FirSourceElement?) - abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirImplicitInvokeCall abstract override fun transformTypeArguments(transformer: FirTransformer, data: D): FirImplicitInvokeCall diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirQualifiedAccessExpression.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirQualifiedAccessExpression.kt index 947b0007711..eda6e889bac 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirQualifiedAccessExpression.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirQualifiedAccessExpression.kt @@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail */ abstract class FirQualifiedAccessExpression : FirExpression(), FirQualifiedAccess { + abstract override val source: FirSourceElement? abstract override val typeRef: FirTypeRef abstract override val annotations: List abstract override val calleeReference: FirReference @@ -25,10 +26,12 @@ abstract class FirQualifiedAccessExpression : FirExpression(), FirQualifiedAcces abstract override val explicitReceiver: FirExpression? abstract override val dispatchReceiver: FirExpression abstract override val extensionReceiver: FirExpression - abstract override val source: FirSourceElement? override fun accept(visitor: FirVisitor, data: D): R = visitor.visitQualifiedAccessExpression(this, data) + @FirImplementationDetail + abstract override fun replaceSource(newSource: FirSourceElement?) + abstract override fun replaceTypeRef(newTypeRef: FirTypeRef) abstract override fun replaceCalleeReference(newCalleeReference: FirReference) @@ -37,9 +40,6 @@ abstract class FirQualifiedAccessExpression : FirExpression(), FirQualifiedAcces abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) - @FirImplementationDetail - abstract override fun replaceSource(newSource: FirSourceElement?) - abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirQualifiedAccessExpression abstract override fun transformCalleeReference(transformer: FirTransformer, data: D): FirQualifiedAccessExpression diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirThisReceiverExpression.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirThisReceiverExpression.kt index da34ebaba72..121dafde8c4 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirThisReceiverExpression.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirThisReceiverExpression.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail */ abstract class FirThisReceiverExpression : FirQualifiedAccessExpression() { + abstract override val source: FirSourceElement? abstract override val typeRef: FirTypeRef abstract override val annotations: List abstract override val typeArguments: List @@ -26,10 +27,12 @@ abstract class FirThisReceiverExpression : FirQualifiedAccessExpression() { abstract override val dispatchReceiver: FirExpression abstract override val extensionReceiver: FirExpression abstract override val calleeReference: FirThisReference - abstract override val source: FirSourceElement? override fun accept(visitor: FirVisitor, data: D): R = visitor.visitThisReceiverExpression(this, data) + @FirImplementationDetail + abstract override fun replaceSource(newSource: FirSourceElement?) + abstract override fun replaceTypeRef(newTypeRef: FirTypeRef) abstract override fun replaceTypeArguments(newTypeArguments: List) @@ -40,9 +43,6 @@ abstract class FirThisReceiverExpression : FirQualifiedAccessExpression() { abstract override fun replaceCalleeReference(newCalleeReference: FirReference) - @FirImplementationDetail - abstract override fun replaceSource(newSource: FirSourceElement?) - abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirThisReceiverExpression abstract override fun transformTypeArguments(transformer: FirTransformer, data: D): FirThisReceiverExpression diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirCallableReferenceAccessBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirCallableReferenceAccessBuilder.kt index 9b114c5c20e..91080b3f078 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirCallableReferenceAccessBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirCallableReferenceAccessBuilder.kt @@ -31,6 +31,7 @@ import org.jetbrains.kotlin.fir.visitors.* @FirBuilderDsl class FirCallableReferenceAccessBuilder : FirQualifiedAccessBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder { + override var source: FirSourceElement? = null override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override val annotations: MutableList = mutableListOf() override val typeArguments: MutableList = mutableListOf() @@ -39,10 +40,10 @@ class FirCallableReferenceAccessBuilder : FirQualifiedAccessBuilder, FirAnnotati override var extensionReceiver: FirExpression = FirNoReceiverExpression lateinit var calleeReference: FirNamedReference var hasQuestionMarkAtLHS: Boolean = false - override var source: FirSourceElement? = null override fun build(): FirCallableReferenceAccess { return FirCallableReferenceAccessImpl( + source, typeRef, annotations, typeArguments, @@ -51,7 +52,6 @@ class FirCallableReferenceAccessBuilder : FirQualifiedAccessBuilder, FirAnnotati extensionReceiver, calleeReference, hasQuestionMarkAtLHS, - source, ) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirComponentCallBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirComponentCallBuilder.kt index 265b46df37a..be9f371378d 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirComponentCallBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirComponentCallBuilder.kt @@ -35,23 +35,23 @@ import org.jetbrains.kotlin.name.Name @FirBuilderDsl class FirComponentCallBuilder : FirCallBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder { + override var source: FirSourceElement? = null override val annotations: MutableList = mutableListOf() val typeArguments: MutableList = mutableListOf() var dispatchReceiver: FirExpression = FirNoReceiverExpression var extensionReceiver: FirExpression = FirNoReceiverExpression override var argumentList: FirArgumentList = FirEmptyArgumentList - override var source: FirSourceElement? = null lateinit var explicitReceiver: FirExpression var componentIndex: Int by kotlin.properties.Delegates.notNull() override fun build(): FirComponentCall { return FirComponentCallImpl( + source, annotations, typeArguments, dispatchReceiver, extensionReceiver, argumentList, - source, explicitReceiver, componentIndex, ) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirFunctionCallBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirFunctionCallBuilder.kt index 280c9fed104..37482a911f4 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirFunctionCallBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirFunctionCallBuilder.kt @@ -33,6 +33,7 @@ import org.jetbrains.kotlin.fir.visitors.* @FirBuilderDsl open class FirFunctionCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder { + override var source: FirSourceElement? = null override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override val annotations: MutableList = mutableListOf() override val typeArguments: MutableList = mutableListOf() @@ -41,11 +42,11 @@ open class FirFunctionCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotatio override var extensionReceiver: FirExpression = FirNoReceiverExpression override var argumentList: FirArgumentList = FirEmptyArgumentList override lateinit var calleeReference: FirNamedReference - override var source: FirSourceElement? = null @OptIn(FirImplementationDetail::class) override fun build(): FirFunctionCall { return FirFunctionCallImpl( + source, typeRef, annotations, typeArguments, @@ -54,7 +55,6 @@ open class FirFunctionCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotatio extensionReceiver, argumentList, calleeReference, - source, ) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirImplicitInvokeCallBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirImplicitInvokeCallBuilder.kt index 2b3e024bf41..c9790ae850b 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirImplicitInvokeCallBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirImplicitInvokeCallBuilder.kt @@ -33,6 +33,7 @@ import org.jetbrains.kotlin.fir.visitors.* @FirBuilderDsl open class FirImplicitInvokeCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder { + override var source: FirSourceElement? = null override val annotations: MutableList = mutableListOf() override val typeArguments: MutableList = mutableListOf() override var explicitReceiver: FirExpression? = null @@ -40,10 +41,10 @@ open class FirImplicitInvokeCallBuilder : FirAbstractFunctionCallBuilder, FirAnn override var extensionReceiver: FirExpression = FirNoReceiverExpression override var argumentList: FirArgumentList = FirEmptyArgumentList override lateinit var calleeReference: FirNamedReference - override var source: FirSourceElement? = null override fun build(): FirImplicitInvokeCall { return FirImplicitInvokeCallImpl( + source, annotations, typeArguments, explicitReceiver, @@ -51,7 +52,6 @@ open class FirImplicitInvokeCallBuilder : FirAbstractFunctionCallBuilder, FirAnn extensionReceiver, argumentList, calleeReference, - source, ) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirQualifiedAccessExpressionBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirQualifiedAccessExpressionBuilder.kt index 582729f9290..5157e4c9375 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirQualifiedAccessExpressionBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirQualifiedAccessExpressionBuilder.kt @@ -30,6 +30,7 @@ import org.jetbrains.kotlin.fir.visitors.* @FirBuilderDsl class FirQualifiedAccessExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder { + override var source: FirSourceElement? = null override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override val annotations: MutableList = mutableListOf() lateinit var calleeReference: FirReference @@ -37,10 +38,10 @@ class FirQualifiedAccessExpressionBuilder : FirQualifiedAccessBuilder, FirAnnota override var explicitReceiver: FirExpression? = null override var dispatchReceiver: FirExpression = FirNoReceiverExpression override var extensionReceiver: FirExpression = FirNoReceiverExpression - override var source: FirSourceElement? = null override fun build(): FirQualifiedAccessExpression { return FirQualifiedAccessExpressionImpl( + source, typeRef, annotations, calleeReference, @@ -48,7 +49,6 @@ class FirQualifiedAccessExpressionBuilder : FirQualifiedAccessBuilder, FirAnnota explicitReceiver, dispatchReceiver, extensionReceiver, - source, ) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirThisReceiverExpressionBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirThisReceiverExpressionBuilder.kt index f69fcaf6015..eaad5e4a7be 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirThisReceiverExpressionBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirThisReceiverExpressionBuilder.kt @@ -31,19 +31,19 @@ import org.jetbrains.kotlin.fir.visitors.* @FirBuilderDsl class FirThisReceiverExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder { + override var source: FirSourceElement? = null override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override val annotations: MutableList = mutableListOf() override val typeArguments: MutableList = mutableListOf() lateinit var calleeReference: FirThisReference - override var source: FirSourceElement? = null override fun build(): FirThisReceiverExpression { return FirThisReceiverExpressionImpl( + source, typeRef, annotations, typeArguments, calleeReference, - source, ) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirCallableReferenceAccessImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirCallableReferenceAccessImpl.kt index 0aa39b8bda2..3b395f22c17 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirCallableReferenceAccessImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirCallableReferenceAccessImpl.kt @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail */ internal class FirCallableReferenceAccessImpl( + override var source: FirSourceElement?, override var typeRef: FirTypeRef, override val annotations: MutableList, override val typeArguments: MutableList, @@ -30,7 +31,6 @@ internal class FirCallableReferenceAccessImpl( override var extensionReceiver: FirExpression, override var calleeReference: FirNamedReference, override var hasQuestionMarkAtLHS: Boolean, - override var source: FirSourceElement?, ) : FirCallableReferenceAccess() { override fun acceptChildren(visitor: FirVisitor, data: D) { typeRef.accept(visitor, data) @@ -91,6 +91,11 @@ internal class FirCallableReferenceAccessImpl( return this } + @FirImplementationDetail + override fun replaceSource(newSource: FirSourceElement?) { + source = newSource + } + override fun replaceTypeRef(newTypeRef: FirTypeRef) { typeRef = newTypeRef } @@ -116,9 +121,4 @@ internal class FirCallableReferenceAccessImpl( override fun replaceHasQuestionMarkAtLHS(newHasQuestionMarkAtLHS: Boolean) { hasQuestionMarkAtLHS = newHasQuestionMarkAtLHS } - - @FirImplementationDetail - override fun replaceSource(newSource: FirSourceElement?) { - source = newSource - } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirComponentCallImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirComponentCallImpl.kt index 12cfb143737..db56e1e815a 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirComponentCallImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirComponentCallImpl.kt @@ -27,12 +27,12 @@ import org.jetbrains.kotlin.fir.visitors.* @OptIn(FirImplementationDetail::class) internal class FirComponentCallImpl( + override var source: FirSourceElement?, override val annotations: MutableList, override val typeArguments: MutableList, override var dispatchReceiver: FirExpression, override var extensionReceiver: FirExpression, override var argumentList: FirArgumentList, - override var source: FirSourceElement?, override var explicitReceiver: FirExpression, override val componentIndex: Int, ) : FirComponentCall() { @@ -100,6 +100,11 @@ internal class FirComponentCallImpl( return this } + @FirImplementationDetail + override fun replaceSource(newSource: FirSourceElement?) { + source = newSource + } + override fun replaceTypeRef(newTypeRef: FirTypeRef) { typeRef = newTypeRef } @@ -122,11 +127,6 @@ internal class FirComponentCallImpl( replaceCalleeReference(newCalleeReference) } - @FirImplementationDetail - override fun replaceSource(newSource: FirSourceElement?) { - source = newSource - } - override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) { require(newExplicitReceiver != null) explicitReceiver = newExplicitReceiver diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirFunctionCallImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirFunctionCallImpl.kt index e20ae165932..d820b7ae58f 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirFunctionCallImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirFunctionCallImpl.kt @@ -23,6 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.* */ open class FirFunctionCallImpl @FirImplementationDetail constructor( + override var source: FirSourceElement?, override var typeRef: FirTypeRef, override val annotations: MutableList, override val typeArguments: MutableList, @@ -31,7 +32,6 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor( override var extensionReceiver: FirExpression, override var argumentList: FirArgumentList, override var calleeReference: FirNamedReference, - override var source: FirSourceElement?, ) : FirFunctionCall() { override fun acceptChildren(visitor: FirVisitor, data: D) { typeRef.accept(visitor, data) @@ -94,6 +94,11 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor( return this } + @FirImplementationDetail + override fun replaceSource(newSource: FirSourceElement?) { + source = newSource + } + override fun replaceTypeRef(newTypeRef: FirTypeRef) { typeRef = newTypeRef } @@ -119,9 +124,4 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor( require(newCalleeReference is FirNamedReference) replaceCalleeReference(newCalleeReference) } - - @FirImplementationDetail - override fun replaceSource(newSource: FirSourceElement?) { - source = newSource - } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirImplicitInvokeCallImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirImplicitInvokeCallImpl.kt index da3fc3f72d2..a64fed3bb7f 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirImplicitInvokeCallImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirImplicitInvokeCallImpl.kt @@ -24,6 +24,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail */ internal class FirImplicitInvokeCallImpl( + override var source: FirSourceElement?, override val annotations: MutableList, override val typeArguments: MutableList, override var explicitReceiver: FirExpression?, @@ -31,7 +32,6 @@ internal class FirImplicitInvokeCallImpl( override var extensionReceiver: FirExpression, override var argumentList: FirArgumentList, override var calleeReference: FirNamedReference, - override var source: FirSourceElement?, ) : FirImplicitInvokeCall() { override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) @@ -96,6 +96,11 @@ internal class FirImplicitInvokeCallImpl( return this } + @FirImplementationDetail + override fun replaceSource(newSource: FirSourceElement?) { + source = newSource + } + override fun replaceTypeRef(newTypeRef: FirTypeRef) { typeRef = newTypeRef } @@ -121,9 +126,4 @@ internal class FirImplicitInvokeCallImpl( require(newCalleeReference is FirNamedReference) replaceCalleeReference(newCalleeReference) } - - @FirImplementationDetail - override fun replaceSource(newSource: FirSourceElement?) { - source = newSource - } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirQualifiedAccessExpressionImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirQualifiedAccessExpressionImpl.kt index 3495551d65c..7a1761f0b40 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirQualifiedAccessExpressionImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirQualifiedAccessExpressionImpl.kt @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail */ internal class FirQualifiedAccessExpressionImpl( + override var source: FirSourceElement?, override var typeRef: FirTypeRef, override val annotations: MutableList, override var calleeReference: FirReference, @@ -28,7 +29,6 @@ internal class FirQualifiedAccessExpressionImpl( override var explicitReceiver: FirExpression?, override var dispatchReceiver: FirExpression, override var extensionReceiver: FirExpression, - override var source: FirSourceElement?, ) : FirQualifiedAccessExpression() { override fun acceptChildren(visitor: FirVisitor, data: D) { typeRef.accept(visitor, data) @@ -89,6 +89,11 @@ internal class FirQualifiedAccessExpressionImpl( return this } + @FirImplementationDetail + override fun replaceSource(newSource: FirSourceElement?) { + source = newSource + } + override fun replaceTypeRef(newTypeRef: FirTypeRef) { typeRef = newTypeRef } @@ -105,9 +110,4 @@ internal class FirQualifiedAccessExpressionImpl( override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) { explicitReceiver = newExplicitReceiver } - - @FirImplementationDetail - override fun replaceSource(newSource: FirSourceElement?) { - source = newSource - } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirThisReceiverExpressionImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirThisReceiverExpressionImpl.kt index a7458dea533..bfe0e7b0a73 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirThisReceiverExpressionImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirThisReceiverExpressionImpl.kt @@ -23,11 +23,11 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail */ internal class FirThisReceiverExpressionImpl( + override var source: FirSourceElement?, override var typeRef: FirTypeRef, override val annotations: MutableList, override val typeArguments: MutableList, override var calleeReference: FirThisReference, - override var source: FirSourceElement?, ) : FirThisReceiverExpression() { override var explicitReceiver: FirExpression? = null override var dispatchReceiver: FirExpression = FirNoReceiverExpression @@ -92,6 +92,11 @@ internal class FirThisReceiverExpressionImpl( return this } + @FirImplementationDetail + override fun replaceSource(newSource: FirSourceElement?) { + source = newSource + } + override fun replaceTypeRef(newTypeRef: FirTypeRef) { typeRef = newTypeRef } @@ -113,9 +118,4 @@ internal class FirThisReceiverExpressionImpl( require(newCalleeReference is FirThisReference) replaceCalleeReference(newCalleeReference) } - - @FirImplementationDetail - override fun replaceSource(newSource: FirSourceElement?) { - source = newSource - } } 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 9be5de99ef6..f27d25cc160 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 @@ -204,13 +204,8 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild +field("value", "T", null) } - qualifiedAccessExpression.configure { - +field("source", sourceElementType, nullable = true, withReplace = true) - } - functionCall.configure { +field("calleeReference", namedReference) - +field("source", sourceElementType, nullable = true, withReplace = true) } comparisonExpression.configure { @@ -457,7 +452,6 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild +field("originalExpression", qualifiedAccessExpression) +field("typesFromSmartCast", "Collection", null, customType = coneKotlinTypeType) +field("originalType", typeRef) - +field("source", sourceElementType, nullable = true, withReplace = true) } safeCallExpression.configure { @@ -475,7 +469,6 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild callableReferenceAccess.configure { +field("calleeReference", namedReference, withReplace = true).withTransform() +booleanField("hasQuestionMarkAtLHS", withReplace = true) - +field("source", sourceElementType, nullable = true, withReplace = true) } getClassCall.configure { @@ -591,7 +584,6 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild thisReceiverExpression.configure { +field("calleeReference", thisReference) - +field("source", sourceElementType, nullable = true, withReplace = true) } whenExpression.configure { diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/Element.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/Element.kt index 6ea490e401d..e5472f1264c 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/Element.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/Element.kt @@ -104,7 +104,7 @@ class Element(val name: String, kind: Kind) : AbstractElement { } val parentFields: List by lazy { - val result = LinkedHashSet() + val result = LinkedHashMap() parents.forEach { parent -> val fields = parent.allFields.map { field -> val copy = (field as? SimpleField)?.let { simpleField -> @@ -119,9 +119,23 @@ class Element(val name: String, kind: Kind) : AbstractElement { fromParent = true } } - result.addAll(fields) + fields.forEach { + result.merge(it.name, it) { previousField, thisField -> + val resultField = previousField.copy() + if (thisField.withReplace) { + resultField.withReplace = true + } + if (thisField.useNullableForReplace) { + resultField.useNullableForReplace = true + } + if (thisField.isMutable) { + resultField.isMutable = true + } + resultField + } + } } - result.toList() + result.values.toList() } override val allFirFields: List by lazy {