[FIR] Add replaceControlFlowGraphReference function for FirFunction
This commit is contained in:
+1
-3
@@ -197,9 +197,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
||||
|
||||
builder(anonymousFunction) {
|
||||
parents += functionBuilder
|
||||
defaultNull("invocationKind", "label", "body")
|
||||
default("controlFlowGraphReference", "FirEmptyControlFlowGraphReference")
|
||||
useTypes(emptyCfgReferenceType)
|
||||
defaultNull("invocationKind", "label", "body", "controlFlowGraphReference")
|
||||
}
|
||||
|
||||
builder(propertyAccessor) {
|
||||
|
||||
+1
-1
@@ -74,7 +74,7 @@ object FieldSets {
|
||||
|
||||
val status = field("status", declarationStatus)
|
||||
|
||||
val controlFlowGraphReferenceField = field("controlFlowGraphReference", controlFlowGraphReference).withTransform()
|
||||
val controlFlowGraphReferenceField = field("controlFlowGraphReference", controlFlowGraphReference, withReplace = true, nullable = true)
|
||||
|
||||
val visibility = field(visibilityType)
|
||||
|
||||
|
||||
+3
-7
@@ -370,10 +370,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
|
||||
impl(superReference, "FirExplicitSuperReference")
|
||||
|
||||
impl(controlFlowGraphReference, "FirEmptyControlFlowGraphReference") {
|
||||
noSource()
|
||||
kind = Object
|
||||
}
|
||||
noImpl(controlFlowGraphReference)
|
||||
|
||||
impl(resolvedTypeRef) {
|
||||
publicImplementation()
|
||||
@@ -470,10 +467,9 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
private fun configureAllImplementations() {
|
||||
configureFieldInAllImplementations(
|
||||
field = "controlFlowGraphReference",
|
||||
implementationPredicate = { it.type != "FirAnonymousFunctionImpl"}
|
||||
implementationPredicate = { it.type != "FirAnonymousFunctionImpl" }
|
||||
) {
|
||||
default(it, "FirEmptyControlFlowGraphReference")
|
||||
useTypes(emptyCfgReferenceType)
|
||||
defaultNull(it)
|
||||
}
|
||||
|
||||
val implementationWithConfigurableTypeRef = listOf(
|
||||
|
||||
Reference in New Issue
Block a user