[FIR] Make default values for value parameters lazy in RawFirBuilder
Sixth step for ^KT-52615 Merge-request: KT-MR-7926 Merged-by: Egor Kulikov <Egor.Kulikov@jetbrains.com>
This commit is contained in:
@@ -79,6 +79,8 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
|
||||
|
||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||
|
||||
abstract fun replaceDefaultValue(newDefaultValue: FirExpression?)
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
+4
@@ -195,4 +195,8 @@ internal class FirDefaultSetterValueParameter(
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
|
||||
override fun replaceDefaultValue(newDefaultValue: FirExpression?) {
|
||||
defaultValue = newDefaultValue
|
||||
}
|
||||
}
|
||||
|
||||
+4
@@ -172,4 +172,8 @@ internal class FirValueParameterImpl(
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
|
||||
override fun replaceDefaultValue(newDefaultValue: FirExpression?) {
|
||||
defaultValue = newDefaultValue
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -393,7 +393,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
|
||||
valueParameter.configure {
|
||||
+symbol("FirValueParameterSymbol")
|
||||
+field("defaultValue", expression, nullable = true)
|
||||
+field("defaultValue", expression, nullable = true, withReplace = true)
|
||||
+field("containingFunctionSymbol", functionSymbolType, "*").apply {
|
||||
withBindThis = false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user