From ac399321f039756e4e159aa75628377a90a8a553 Mon Sep 17 00:00:00 2001 From: "Denis.Zharkov" Date: Thu, 24 Mar 2022 14:53:48 +0300 Subject: [PATCH] FIR: Add replace method for contextReceiverNumber --- .../org/jetbrains/kotlin/fir/references/FirThisReference.kt | 2 ++ .../kotlin/fir/references/impl/FirExplicitThisReference.kt | 6 +++++- .../kotlin/fir/references/impl/FirImplicitThisReference.kt | 6 +++++- .../jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt | 2 +- .../kotlin/fir/tree/generator/model/ElementUtils.kt | 4 ++-- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/references/FirThisReference.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/references/FirThisReference.kt index 4720614d66e..5c7391f0812 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/references/FirThisReference.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/references/FirThisReference.kt @@ -28,4 +28,6 @@ abstract class FirThisReference : FirReference() { transformer.transformThisReference(this, data) as E abstract fun replaceBoundSymbol(newBoundSymbol: FirBasedSymbol<*>?) + + abstract fun replaceContextReceiverNumber(newContextReceiverNumber: Int) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/references/impl/FirExplicitThisReference.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/references/impl/FirExplicitThisReference.kt index 13d238dbd9f..a23eae5d9a6 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/references/impl/FirExplicitThisReference.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/references/impl/FirExplicitThisReference.kt @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirExplicitThisReference( override val source: KtSourceElement?, override val labelName: String?, - override val contextReceiverNumber: Int, + override var contextReceiverNumber: Int, ) : FirThisReference() { override var boundSymbol: FirBasedSymbol<*>? = null @@ -31,4 +31,8 @@ internal class FirExplicitThisReference( override fun replaceBoundSymbol(newBoundSymbol: FirBasedSymbol<*>?) { boundSymbol = newBoundSymbol } + + override fun replaceContextReceiverNumber(newContextReceiverNumber: Int) { + contextReceiverNumber = newContextReceiverNumber + } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/references/impl/FirImplicitThisReference.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/references/impl/FirImplicitThisReference.kt index 3bd870332f7..4bd7bd56876 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/references/impl/FirImplicitThisReference.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/references/impl/FirImplicitThisReference.kt @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirImplicitThisReference( override val boundSymbol: FirBasedSymbol<*>?, - override val contextReceiverNumber: Int, + override var contextReceiverNumber: Int, ) : FirThisReference() { override val source: KtSourceElement? get() = null override val labelName: String? get() = null @@ -29,4 +29,8 @@ internal class FirImplicitThisReference( } override fun replaceBoundSymbol(newBoundSymbol: FirBasedSymbol<*>?) {} + + override fun replaceContextReceiverNumber(newContextReceiverNumber: Int) { + contextReceiverNumber = newContextReceiverNumber + } } 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 7366aa1587b..ab07ba34c33 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 @@ -623,7 +623,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild thisReference.configure { +stringField("labelName", nullable = true) +field("boundSymbol", firBasedSymbolType, "*", nullable = true, withReplace = true) - +intField("contextReceiverNumber") + +intField("contextReceiverNumber", withReplace = true) } typeRef.configure { diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/ElementUtils.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/ElementUtils.kt index 8520604dbe5..a385d04abc9 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/ElementUtils.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/ElementUtils.kt @@ -38,8 +38,8 @@ fun stringField(name: String, nullable: Boolean = false): Field { return field(name, AbstractFirTreeBuilder.string, null, null, nullable) } -fun intField(name: String): Field { - return field(name, AbstractFirTreeBuilder.int, null) +fun intField(name: String, withReplace: Boolean = false): Field { + return field(name, AbstractFirTreeBuilder.int, null, withReplace = withReplace) } // ----------- Fir field -----------