FIR: Add replace method for contextReceiverNumber
This commit is contained in:
@@ -28,4 +28,6 @@ abstract class FirThisReference : FirReference() {
|
|||||||
transformer.transformThisReference(this, data) as E
|
transformer.transformThisReference(this, data) as E
|
||||||
|
|
||||||
abstract fun replaceBoundSymbol(newBoundSymbol: FirBasedSymbol<*>?)
|
abstract fun replaceBoundSymbol(newBoundSymbol: FirBasedSymbol<*>?)
|
||||||
|
|
||||||
|
abstract fun replaceContextReceiverNumber(newContextReceiverNumber: Int)
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
internal class FirExplicitThisReference(
|
internal class FirExplicitThisReference(
|
||||||
override val source: KtSourceElement?,
|
override val source: KtSourceElement?,
|
||||||
override val labelName: String?,
|
override val labelName: String?,
|
||||||
override val contextReceiverNumber: Int,
|
override var contextReceiverNumber: Int,
|
||||||
) : FirThisReference() {
|
) : FirThisReference() {
|
||||||
override var boundSymbol: FirBasedSymbol<*>? = null
|
override var boundSymbol: FirBasedSymbol<*>? = null
|
||||||
|
|
||||||
@@ -31,4 +31,8 @@ internal class FirExplicitThisReference(
|
|||||||
override fun replaceBoundSymbol(newBoundSymbol: FirBasedSymbol<*>?) {
|
override fun replaceBoundSymbol(newBoundSymbol: FirBasedSymbol<*>?) {
|
||||||
boundSymbol = newBoundSymbol
|
boundSymbol = newBoundSymbol
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceContextReceiverNumber(newContextReceiverNumber: Int) {
|
||||||
|
contextReceiverNumber = newContextReceiverNumber
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
|
|
||||||
internal class FirImplicitThisReference(
|
internal class FirImplicitThisReference(
|
||||||
override val boundSymbol: FirBasedSymbol<*>?,
|
override val boundSymbol: FirBasedSymbol<*>?,
|
||||||
override val contextReceiverNumber: Int,
|
override var contextReceiverNumber: Int,
|
||||||
) : FirThisReference() {
|
) : FirThisReference() {
|
||||||
override val source: KtSourceElement? get() = null
|
override val source: KtSourceElement? get() = null
|
||||||
override val labelName: String? get() = null
|
override val labelName: String? get() = null
|
||||||
@@ -29,4 +29,8 @@ internal class FirImplicitThisReference(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun replaceBoundSymbol(newBoundSymbol: FirBasedSymbol<*>?) {}
|
override fun replaceBoundSymbol(newBoundSymbol: FirBasedSymbol<*>?) {}
|
||||||
|
|
||||||
|
override fun replaceContextReceiverNumber(newContextReceiverNumber: Int) {
|
||||||
|
contextReceiverNumber = newContextReceiverNumber
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -623,7 +623,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
thisReference.configure {
|
thisReference.configure {
|
||||||
+stringField("labelName", nullable = true)
|
+stringField("labelName", nullable = true)
|
||||||
+field("boundSymbol", firBasedSymbolType, "*", nullable = true, withReplace = true)
|
+field("boundSymbol", firBasedSymbolType, "*", nullable = true, withReplace = true)
|
||||||
+intField("contextReceiverNumber")
|
+intField("contextReceiverNumber", withReplace = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
typeRef.configure {
|
typeRef.configure {
|
||||||
|
|||||||
+2
-2
@@ -38,8 +38,8 @@ fun stringField(name: String, nullable: Boolean = false): Field {
|
|||||||
return field(name, AbstractFirTreeBuilder.string, null, null, nullable)
|
return field(name, AbstractFirTreeBuilder.string, null, null, nullable)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun intField(name: String): Field {
|
fun intField(name: String, withReplace: Boolean = false): Field {
|
||||||
return field(name, AbstractFirTreeBuilder.int, null)
|
return field(name, AbstractFirTreeBuilder.int, null, withReplace = withReplace)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------- Fir field -----------
|
// ----------- Fir field -----------
|
||||||
|
|||||||
Reference in New Issue
Block a user