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
|
||||
|
||||
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(
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
+5
-1
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -623,7 +623,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
thisReference.configure {
|
||||
+stringField("labelName", nullable = true)
|
||||
+field("boundSymbol", firBasedSymbolType, "*", nullable = true, withReplace = true)
|
||||
+intField("contextReceiverNumber")
|
||||
+intField("contextReceiverNumber", withReplace = true)
|
||||
}
|
||||
|
||||
typeRef.configure {
|
||||
|
||||
+2
-2
@@ -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 -----------
|
||||
|
||||
Reference in New Issue
Block a user