[FIR] FirVariable: add replace method for delegate
It is required to properly implement lazy expression calculation ^KT-59687
This commit is contained in:
committed by
Space Team
parent
4f859a634e
commit
f8b2b4ac21
@@ -142,6 +142,7 @@ class FirJavaField @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun replaceDelegate(newDelegate: FirExpression?) {}
|
||||
override val delegate: FirExpression?
|
||||
get() = null
|
||||
|
||||
|
||||
+2
@@ -178,6 +178,8 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
|
||||
override fun replaceInitializer(newInitializer: FirExpression?) {
|
||||
}
|
||||
|
||||
override fun replaceDelegate(newDelegate: FirExpression?) {}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
}
|
||||
|
||||
|
||||
@@ -64,6 +64,8 @@ abstract class FirBackingField : FirVariable(), FirTypeParametersOwner, FirState
|
||||
|
||||
abstract override fun replaceContextReceivers(newContextReceivers: List<FirContextReceiver>)
|
||||
|
||||
abstract override fun replaceDelegate(newDelegate: FirExpression?)
|
||||
|
||||
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||
|
||||
abstract override fun replaceSetter(newSetter: FirPropertyAccessor?)
|
||||
|
||||
@@ -65,6 +65,8 @@ abstract class FirEnumEntry : FirVariable() {
|
||||
|
||||
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
||||
|
||||
abstract override fun replaceDelegate(newDelegate: FirExpression?)
|
||||
|
||||
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||
|
||||
abstract override fun replaceSetter(newSetter: FirPropertyAccessor?)
|
||||
|
||||
@@ -68,6 +68,8 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
|
||||
|
||||
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
||||
|
||||
abstract override fun replaceDelegate(newDelegate: FirExpression?)
|
||||
|
||||
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||
|
||||
abstract override fun replaceSetter(newSetter: FirPropertyAccessor?)
|
||||
|
||||
@@ -67,6 +67,8 @@ abstract class FirField : FirVariable(), FirControlFlowGraphOwner {
|
||||
|
||||
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
||||
|
||||
abstract override fun replaceDelegate(newDelegate: FirExpression?)
|
||||
|
||||
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||
|
||||
abstract override fun replaceSetter(newSetter: FirPropertyAccessor?)
|
||||
|
||||
@@ -69,6 +69,8 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl
|
||||
|
||||
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
||||
|
||||
abstract override fun replaceDelegate(newDelegate: FirExpression?)
|
||||
|
||||
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||
|
||||
abstract override fun replaceSetter(newSetter: FirPropertyAccessor?)
|
||||
|
||||
@@ -73,6 +73,8 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
|
||||
|
||||
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
||||
|
||||
abstract override fun replaceDelegate(newDelegate: FirExpression?)
|
||||
|
||||
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||
|
||||
abstract override fun replaceSetter(newSetter: FirPropertyAccessor?)
|
||||
|
||||
@@ -66,6 +66,8 @@ sealed class FirVariable : FirCallableDeclaration(), FirStatement {
|
||||
|
||||
abstract fun replaceInitializer(newInitializer: FirExpression?)
|
||||
|
||||
abstract fun replaceDelegate(newDelegate: FirExpression?)
|
||||
|
||||
abstract fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||
|
||||
abstract fun replaceSetter(newSetter: FirPropertyAccessor?)
|
||||
|
||||
+4
@@ -172,6 +172,10 @@ open class FirBackingFieldImpl @FirImplementationDetail constructor(
|
||||
contextReceivers = newContextReceivers.toMutableOrEmpty()
|
||||
}
|
||||
|
||||
override fun replaceDelegate(newDelegate: FirExpression?) {
|
||||
delegate = newDelegate
|
||||
}
|
||||
|
||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {
|
||||
getter = newGetter
|
||||
}
|
||||
|
||||
+4
@@ -189,6 +189,10 @@ internal class FirDefaultSetterValueParameter(
|
||||
initializer = newInitializer
|
||||
}
|
||||
|
||||
override fun replaceDelegate(newDelegate: FirExpression?) {
|
||||
delegate = newDelegate
|
||||
}
|
||||
|
||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {
|
||||
getter = newGetter
|
||||
}
|
||||
|
||||
@@ -165,6 +165,8 @@ internal class FirEnumEntryImpl(
|
||||
initializer = newInitializer
|
||||
}
|
||||
|
||||
override fun replaceDelegate(newDelegate: FirExpression?) {}
|
||||
|
||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {}
|
||||
|
||||
override fun replaceSetter(newSetter: FirPropertyAccessor?) {}
|
||||
|
||||
+2
@@ -161,6 +161,8 @@ internal class FirErrorPropertyImpl(
|
||||
|
||||
override fun replaceInitializer(newInitializer: FirExpression?) {}
|
||||
|
||||
override fun replaceDelegate(newDelegate: FirExpression?) {}
|
||||
|
||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {}
|
||||
|
||||
override fun replaceSetter(newSetter: FirPropertyAccessor?) {}
|
||||
|
||||
@@ -170,6 +170,8 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
||||
initializer = newInitializer
|
||||
}
|
||||
|
||||
override fun replaceDelegate(newDelegate: FirExpression?) {}
|
||||
|
||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {}
|
||||
|
||||
override fun replaceSetter(newSetter: FirPropertyAccessor?) {}
|
||||
|
||||
@@ -191,6 +191,10 @@ internal class FirPropertyImpl(
|
||||
initializer = newInitializer
|
||||
}
|
||||
|
||||
override fun replaceDelegate(newDelegate: FirExpression?) {
|
||||
delegate = newDelegate
|
||||
}
|
||||
|
||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {
|
||||
getter = newGetter
|
||||
}
|
||||
|
||||
+2
@@ -170,6 +170,8 @@ internal class FirValueParameterImpl(
|
||||
|
||||
override fun replaceInitializer(newInitializer: FirExpression?) {}
|
||||
|
||||
override fun replaceDelegate(newDelegate: FirExpression?) {}
|
||||
|
||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {}
|
||||
|
||||
override fun replaceSetter(newSetter: FirPropertyAccessor?) {}
|
||||
|
||||
+4
@@ -167,6 +167,10 @@ class FirSyntheticProperty(
|
||||
notSupported()
|
||||
}
|
||||
|
||||
override fun replaceDelegate(newDelegate: FirExpression?) {
|
||||
notSupported()
|
||||
}
|
||||
|
||||
override fun replaceBodyResolveState(newBodyResolveState: FirPropertyBodyResolveState) {
|
||||
notSupported()
|
||||
}
|
||||
|
||||
+1
-1
@@ -440,7 +440,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
+name
|
||||
+symbol("FirVariableSymbol", "out FirVariable")
|
||||
+initializer.withTransform().withReplace()
|
||||
+field("delegate", expression, nullable = true).withTransform()
|
||||
+field("delegate", expression, nullable = true, withReplace = true).withTransform()
|
||||
generateBooleanFields("var", "val")
|
||||
+field("getter", propertyAccessor, nullable = true, withReplace = true).withTransform()
|
||||
+field("setter", propertyAccessor, nullable = true, withReplace = true).withTransform()
|
||||
|
||||
Reference in New Issue
Block a user