[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
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDelegate(newDelegate: FirExpression?) {}
|
||||||
override val delegate: FirExpression?
|
override val delegate: FirExpression?
|
||||||
get() = null
|
get() = null
|
||||||
|
|
||||||
|
|||||||
+2
@@ -178,6 +178,8 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
|
|||||||
override fun replaceInitializer(newInitializer: FirExpression?) {
|
override fun replaceInitializer(newInitializer: FirExpression?) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDelegate(newDelegate: FirExpression?) {}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
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 replaceContextReceivers(newContextReceivers: List<FirContextReceiver>)
|
||||||
|
|
||||||
|
abstract override fun replaceDelegate(newDelegate: FirExpression?)
|
||||||
|
|
||||||
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||||
|
|
||||||
abstract override fun replaceSetter(newSetter: FirPropertyAccessor?)
|
abstract override fun replaceSetter(newSetter: FirPropertyAccessor?)
|
||||||
|
|||||||
@@ -65,6 +65,8 @@ abstract class FirEnumEntry : FirVariable() {
|
|||||||
|
|
||||||
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
abstract override fun replaceInitializer(newInitializer: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceDelegate(newDelegate: FirExpression?)
|
||||||
|
|
||||||
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||||
|
|
||||||
abstract override fun replaceSetter(newSetter: 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 replaceInitializer(newInitializer: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceDelegate(newDelegate: FirExpression?)
|
||||||
|
|
||||||
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||||
|
|
||||||
abstract override fun replaceSetter(newSetter: 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 replaceInitializer(newInitializer: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceDelegate(newDelegate: FirExpression?)
|
||||||
|
|
||||||
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||||
|
|
||||||
abstract override fun replaceSetter(newSetter: 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 replaceInitializer(newInitializer: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceDelegate(newDelegate: FirExpression?)
|
||||||
|
|
||||||
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||||
|
|
||||||
abstract override fun replaceSetter(newSetter: 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 replaceInitializer(newInitializer: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceDelegate(newDelegate: FirExpression?)
|
||||||
|
|
||||||
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
abstract override fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||||
|
|
||||||
abstract override fun replaceSetter(newSetter: FirPropertyAccessor?)
|
abstract override fun replaceSetter(newSetter: FirPropertyAccessor?)
|
||||||
|
|||||||
@@ -66,6 +66,8 @@ sealed class FirVariable : FirCallableDeclaration(), FirStatement {
|
|||||||
|
|
||||||
abstract fun replaceInitializer(newInitializer: FirExpression?)
|
abstract fun replaceInitializer(newInitializer: FirExpression?)
|
||||||
|
|
||||||
|
abstract fun replaceDelegate(newDelegate: FirExpression?)
|
||||||
|
|
||||||
abstract fun replaceGetter(newGetter: FirPropertyAccessor?)
|
abstract fun replaceGetter(newGetter: FirPropertyAccessor?)
|
||||||
|
|
||||||
abstract fun replaceSetter(newSetter: FirPropertyAccessor?)
|
abstract fun replaceSetter(newSetter: FirPropertyAccessor?)
|
||||||
|
|||||||
+4
@@ -172,6 +172,10 @@ open class FirBackingFieldImpl @FirImplementationDetail constructor(
|
|||||||
contextReceivers = newContextReceivers.toMutableOrEmpty()
|
contextReceivers = newContextReceivers.toMutableOrEmpty()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDelegate(newDelegate: FirExpression?) {
|
||||||
|
delegate = newDelegate
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {
|
override fun replaceGetter(newGetter: FirPropertyAccessor?) {
|
||||||
getter = newGetter
|
getter = newGetter
|
||||||
}
|
}
|
||||||
|
|||||||
+4
@@ -189,6 +189,10 @@ internal class FirDefaultSetterValueParameter(
|
|||||||
initializer = newInitializer
|
initializer = newInitializer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDelegate(newDelegate: FirExpression?) {
|
||||||
|
delegate = newDelegate
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {
|
override fun replaceGetter(newGetter: FirPropertyAccessor?) {
|
||||||
getter = newGetter
|
getter = newGetter
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -165,6 +165,8 @@ internal class FirEnumEntryImpl(
|
|||||||
initializer = newInitializer
|
initializer = newInitializer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDelegate(newDelegate: FirExpression?) {}
|
||||||
|
|
||||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {}
|
override fun replaceGetter(newGetter: FirPropertyAccessor?) {}
|
||||||
|
|
||||||
override fun replaceSetter(newSetter: FirPropertyAccessor?) {}
|
override fun replaceSetter(newSetter: FirPropertyAccessor?) {}
|
||||||
|
|||||||
+2
@@ -161,6 +161,8 @@ internal class FirErrorPropertyImpl(
|
|||||||
|
|
||||||
override fun replaceInitializer(newInitializer: FirExpression?) {}
|
override fun replaceInitializer(newInitializer: FirExpression?) {}
|
||||||
|
|
||||||
|
override fun replaceDelegate(newDelegate: FirExpression?) {}
|
||||||
|
|
||||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {}
|
override fun replaceGetter(newGetter: FirPropertyAccessor?) {}
|
||||||
|
|
||||||
override fun replaceSetter(newSetter: FirPropertyAccessor?) {}
|
override fun replaceSetter(newSetter: FirPropertyAccessor?) {}
|
||||||
|
|||||||
@@ -170,6 +170,8 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
|||||||
initializer = newInitializer
|
initializer = newInitializer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDelegate(newDelegate: FirExpression?) {}
|
||||||
|
|
||||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {}
|
override fun replaceGetter(newGetter: FirPropertyAccessor?) {}
|
||||||
|
|
||||||
override fun replaceSetter(newSetter: FirPropertyAccessor?) {}
|
override fun replaceSetter(newSetter: FirPropertyAccessor?) {}
|
||||||
|
|||||||
@@ -191,6 +191,10 @@ internal class FirPropertyImpl(
|
|||||||
initializer = newInitializer
|
initializer = newInitializer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDelegate(newDelegate: FirExpression?) {
|
||||||
|
delegate = newDelegate
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {
|
override fun replaceGetter(newGetter: FirPropertyAccessor?) {
|
||||||
getter = newGetter
|
getter = newGetter
|
||||||
}
|
}
|
||||||
|
|||||||
+2
@@ -170,6 +170,8 @@ internal class FirValueParameterImpl(
|
|||||||
|
|
||||||
override fun replaceInitializer(newInitializer: FirExpression?) {}
|
override fun replaceInitializer(newInitializer: FirExpression?) {}
|
||||||
|
|
||||||
|
override fun replaceDelegate(newDelegate: FirExpression?) {}
|
||||||
|
|
||||||
override fun replaceGetter(newGetter: FirPropertyAccessor?) {}
|
override fun replaceGetter(newGetter: FirPropertyAccessor?) {}
|
||||||
|
|
||||||
override fun replaceSetter(newSetter: FirPropertyAccessor?) {}
|
override fun replaceSetter(newSetter: FirPropertyAccessor?) {}
|
||||||
|
|||||||
+4
@@ -167,6 +167,10 @@ class FirSyntheticProperty(
|
|||||||
notSupported()
|
notSupported()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceDelegate(newDelegate: FirExpression?) {
|
||||||
|
notSupported()
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceBodyResolveState(newBodyResolveState: FirPropertyBodyResolveState) {
|
override fun replaceBodyResolveState(newBodyResolveState: FirPropertyBodyResolveState) {
|
||||||
notSupported()
|
notSupported()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -440,7 +440,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
+name
|
+name
|
||||||
+symbol("FirVariableSymbol", "out FirVariable")
|
+symbol("FirVariableSymbol", "out FirVariable")
|
||||||
+initializer.withTransform().withReplace()
|
+initializer.withTransform().withReplace()
|
||||||
+field("delegate", expression, nullable = true).withTransform()
|
+field("delegate", expression, nullable = true, withReplace = true).withTransform()
|
||||||
generateBooleanFields("var", "val")
|
generateBooleanFields("var", "val")
|
||||||
+field("getter", propertyAccessor, nullable = true, withReplace = true).withTransform()
|
+field("getter", propertyAccessor, nullable = true, withReplace = true).withTransform()
|
||||||
+field("setter", propertyAccessor, nullable = true, withReplace = true).withTransform()
|
+field("setter", propertyAccessor, nullable = true, withReplace = true).withTransform()
|
||||||
|
|||||||
Reference in New Issue
Block a user