Get rid of FirControlFlowGraphOwner

This commit is contained in:
Mikhail Glukhikh
2020-02-03 17:24:37 +03:00
parent f28144ff9c
commit 4f8d0382f7
21 changed files with 31 additions and 80 deletions
@@ -1,23 +0,0 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
import org.jetbrains.kotlin.fir.visitors.*
/*
* This file was generated automatically
* DO NOT MODIFY IT MANUALLY
*/
interface FirControlFlowGraphOwner : FirElement {
override val source: FirSourceElement?
val controlFlowGraphReference: FirControlFlowGraphReference
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitControlFlowGraphOwner(this, data)
fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirControlFlowGraphOwner
}
@@ -30,8 +30,8 @@ abstract class FirAnonymousFunction : FirPureAbstractElement(), FirFunction<FirA
abstract override val annotations: List<FirAnnotationCall>
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
abstract override val typeParameters: List<FirTypeParameter>
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
abstract override val valueParameters: List<FirValueParameter>
abstract override val body: FirBlock?
abstract override val typeRef: FirTypeRef
@@ -27,8 +27,8 @@ interface FirConstructor : FirFunction<FirConstructor>, FirCallableMemberDeclara
override val resolvePhase: FirResolvePhase
override val returnTypeRef: FirTypeRef
override val receiverTypeRef: FirTypeRef?
override val controlFlowGraphReference: FirControlFlowGraphReference
override val typeParameters: List<FirTypeParameter>
override val controlFlowGraphReference: FirControlFlowGraphReference
override val valueParameters: List<FirValueParameter>
override val status: FirDeclarationStatus
override val containerSource: DeserializedContainerSource?
@@ -29,8 +29,8 @@ abstract class FirErrorFunction : FirPureAbstractElement(), FirFunction<FirError
abstract override val annotations: List<FirAnnotationCall>
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
abstract override val typeParameters: List<FirTypeParameter>
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
abstract override val valueParameters: List<FirValueParameter>
abstract override val body: FirBlock?
abstract override val diagnostic: FirDiagnostic
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.fir.declarations
import org.jetbrains.kotlin.fir.FirAnnotationContainer
import org.jetbrains.kotlin.fir.FirControlFlowGraphOwner
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.FirTargetElement
@@ -23,15 +22,15 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY
*/
interface FirFunction<F : FirFunction<F>> : FirCallableDeclaration<F>, FirControlFlowGraphOwner, FirTargetElement, FirAnnotationContainer, FirTypeParametersOwner, FirStatement {
interface FirFunction<F : FirFunction<F>> : FirCallableDeclaration<F>, FirTargetElement, FirAnnotationContainer, FirTypeParametersOwner, FirStatement {
override val source: FirSourceElement?
override val session: FirSession
override val resolvePhase: FirResolvePhase
override val annotations: List<FirAnnotationCall>
override val returnTypeRef: FirTypeRef
override val receiverTypeRef: FirTypeRef?
override val controlFlowGraphReference: FirControlFlowGraphReference
override val typeParameters: List<FirTypeParameter>
val controlFlowGraphReference: FirControlFlowGraphReference
override val symbol: FirFunctionSymbol<F>
val valueParameters: List<FirValueParameter>
val body: FirBlock?
@@ -42,7 +41,7 @@ interface FirFunction<F : FirFunction<F>> : FirCallableDeclaration<F>, FirContro
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirFunction<F>
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirFunction<F>
fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirFunction<F>
fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirFunction<F>
}
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.fir.declarations
import org.jetbrains.kotlin.fir.FirControlFlowGraphOwner
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.FirSourceElement
@@ -25,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY
*/
abstract class FirProperty : FirPureAbstractElement(), FirVariable<FirProperty>, FirControlFlowGraphOwner, FirTypeParametersOwner, FirCallableMemberDeclaration<FirProperty> {
abstract class FirProperty : FirPureAbstractElement(), FirVariable<FirProperty>, FirTypeParametersOwner, FirCallableMemberDeclaration<FirProperty> {
abstract override val source: FirSourceElement?
abstract override val session: FirSession
abstract override val resolvePhase: FirResolvePhase
@@ -40,8 +39,8 @@ abstract class FirProperty : FirPureAbstractElement(), FirVariable<FirProperty>,
abstract override val getter: FirPropertyAccessor?
abstract override val setter: FirPropertyAccessor?
abstract override val annotations: List<FirAnnotationCall>
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
abstract override val containerSource: DeserializedContainerSource?
abstract val controlFlowGraphReference: FirControlFlowGraphReference
abstract override val symbol: FirPropertySymbol
abstract val backingFieldSymbol: FirBackingFieldSymbol
abstract val isLocal: Boolean
@@ -60,7 +59,7 @@ abstract class FirProperty : FirPureAbstractElement(), FirVariable<FirProperty>,
abstract override fun <D> transformSetter(transformer: FirTransformer<D>, data: D): FirProperty
abstract override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirProperty
abstract fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirProperty
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirProperty
@@ -27,8 +27,8 @@ abstract class FirPropertyAccessor : FirPureAbstractElement(), FirFunction<FirPr
abstract override val resolvePhase: FirResolvePhase
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
abstract override val typeParameters: List<FirTypeParameter>
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
abstract override val valueParameters: List<FirValueParameter>
abstract override val body: FirBlock?
abstract override val contractDescription: FirContractDescription
@@ -29,8 +29,8 @@ abstract class FirSimpleFunction : FirPureAbstractElement(), FirFunction<FirSimp
abstract override val resolvePhase: FirResolvePhase
abstract override val returnTypeRef: FirTypeRef
abstract override val receiverTypeRef: FirTypeRef?
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
abstract override val typeParameters: List<FirTypeParameter>
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
abstract override val valueParameters: List<FirValueParameter>
abstract override val body: FirBlock?
abstract override val status: FirDeclarationStatus
@@ -38,8 +38,8 @@ class FirAnonymousFunctionImpl(
) : FirAnonymousFunction(), FirModifiableFunction<FirAnonymousFunction>, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.DECLARATIONS
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
override var body: FirBlock? = null
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
@@ -54,8 +54,8 @@ class FirAnonymousFunctionImpl(
annotations.forEach { it.accept(visitor, data) }
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
controlFlowGraphReference.accept(visitor, data)
typeParameters.forEach { it.accept(visitor, data) }
controlFlowGraphReference.accept(visitor, data)
valueParameters.forEach { it.accept(visitor, data) }
body?.accept(visitor, data)
typeRef.accept(visitor, data)
@@ -66,8 +66,8 @@ class FirAnonymousFunctionImpl(
annotations.transformInplace(transformer, data)
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformControlFlowGraphReference(transformer, data)
typeParameters.transformInplace(transformer, data)
transformControlFlowGraphReference(transformer, data)
transformValueParameters(transformer, data)
body = body?.transformSingle(transformer, data)
typeRef = typeRef.transformSingle(transformer, data)
@@ -37,8 +37,8 @@ open class FirConstructorImpl(
override val symbol: FirConstructorSymbol
) : FirConstructor, FirModifiableConstructor(), FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
override var containerSource: DeserializedContainerSource? = null
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -37,8 +37,8 @@ class FirErrorFunctionImpl(
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, diagnostic)
override val receiverTypeRef: FirTypeRef? get() = null
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
override val body: FirBlock? get() = null
@@ -49,16 +49,16 @@ class FirErrorFunctionImpl(
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
annotations.forEach { it.accept(visitor, data) }
returnTypeRef.accept(visitor, data)
controlFlowGraphReference.accept(visitor, data)
typeParameters.forEach { it.accept(visitor, data) }
controlFlowGraphReference.accept(visitor, data)
valueParameters.forEach { it.accept(visitor, data) }
}
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
annotations.transformInplace(transformer, data)
transformReturnTypeRef(transformer, data)
transformControlFlowGraphReference(transformer, data)
typeParameters.transformInplace(transformer, data)
transformControlFlowGraphReference(transformer, data)
transformValueParameters(transformer, data)
return this
}
@@ -35,8 +35,8 @@ abstract class FirModifiableConstructor : FirPureAbstractElement(), FirConstruct
abstract override var resolvePhase: FirResolvePhase
abstract override var returnTypeRef: FirTypeRef
abstract override var receiverTypeRef: FirTypeRef?
abstract override var controlFlowGraphReference: FirControlFlowGraphReference
abstract override val typeParameters: MutableList<FirTypeParameter>
abstract override var controlFlowGraphReference: FirControlFlowGraphReference
abstract override val valueParameters: MutableList<FirValueParameter>
abstract override var status: FirDeclarationStatus
abstract override var containerSource: DeserializedContainerSource?
@@ -32,8 +32,8 @@ interface FirModifiableFunction<F : FirFunction<F>> : FirFunction<F>, FirAbstra
override val annotations: MutableList<FirAnnotationCall>
override var returnTypeRef: FirTypeRef
override var receiverTypeRef: FirTypeRef?
override var controlFlowGraphReference: FirControlFlowGraphReference
override val typeParameters: MutableList<FirTypeParameter>
override var controlFlowGraphReference: FirControlFlowGraphReference
override val symbol: FirFunctionSymbol<F>
override val valueParameters: MutableList<FirValueParameter>
override var body: FirBlock?
@@ -39,8 +39,8 @@ open class FirPropertyAccessorImpl(
) : FirPropertyAccessor(), FirModifiableFunction<FirPropertyAccessor>, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override var receiverTypeRef: FirTypeRef? = null
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
override var body: FirBlock? = null
override var contractDescription: FirContractDescription = FirEmptyContractDescription
@@ -54,8 +54,8 @@ open class FirPropertyAccessorImpl(
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
controlFlowGraphReference.accept(visitor, data)
typeParameters.forEach { it.accept(visitor, data) }
controlFlowGraphReference.accept(visitor, data)
valueParameters.forEach { it.accept(visitor, data) }
body?.accept(visitor, data)
contractDescription.accept(visitor, data)
@@ -66,8 +66,8 @@ open class FirPropertyAccessorImpl(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformControlFlowGraphReference(transformer, data)
typeParameters.transformInplace(transformer, data)
transformControlFlowGraphReference(transformer, data)
transformValueParameters(transformer, data)
body = body?.transformSingle(transformer, data)
transformContractDescription(transformer, data)
@@ -49,8 +49,8 @@ class FirPropertyImpl(
override var getter: FirPropertyAccessor? = null
override var setter: FirPropertyAccessor? = null
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override var containerSource: DeserializedContainerSource? = null
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override val backingFieldSymbol: FirBackingFieldSymbol = FirBackingFieldSymbol(symbol.callableId)
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
@@ -40,8 +40,8 @@ open class FirSimpleFunctionImpl(
override val symbol: FirFunctionSymbol<FirSimpleFunction>
) : FirSimpleFunction(), FirModifiableFunction<FirSimpleFunction>, FirModifiableTypeParametersOwner, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
override var body: FirBlock? = null
override var containerSource: DeserializedContainerSource? = null
@@ -55,8 +55,8 @@ open class FirSimpleFunctionImpl(
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
returnTypeRef.accept(visitor, data)
receiverTypeRef?.accept(visitor, data)
controlFlowGraphReference.accept(visitor, data)
typeParameters.forEach { it.accept(visitor, data) }
controlFlowGraphReference.accept(visitor, data)
valueParameters.forEach { it.accept(visitor, data) }
body?.accept(visitor, data)
status.accept(visitor, data)
@@ -67,8 +67,8 @@ open class FirSimpleFunctionImpl(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
transformReturnTypeRef(transformer, data)
transformReceiverTypeRef(transformer, data)
transformControlFlowGraphReference(transformer, data)
typeParameters.transformInplace(transformer, data)
transformControlFlowGraphReference(transformer, data)
transformValueParameters(transformer, data)
body = body?.transformSingle(transformer, data)
transformStatus(transformer, data)
@@ -14,7 +14,6 @@ import org.jetbrains.kotlin.fir.declarations.FirImport
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
import org.jetbrains.kotlin.fir.FirSymbolOwner
import org.jetbrains.kotlin.fir.expressions.FirResolvable
import org.jetbrains.kotlin.fir.FirControlFlowGraphOwner
import org.jetbrains.kotlin.fir.FirTargetElement
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirResolvedDeclarationStatus
@@ -161,10 +160,6 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
return transformElement(resolvable, data)
}
open fun transformControlFlowGraphOwner(controlFlowGraphOwner: FirControlFlowGraphOwner, data: D): CompositeTransformResult<FirControlFlowGraphOwner> {
return transformElement(controlFlowGraphOwner, data)
}
open fun transformTargetElement(targetElement: FirTargetElement, data: D): CompositeTransformResult<FirTargetElement> {
return transformElement(targetElement, data)
}
@@ -613,10 +608,6 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
return transformResolvable(resolvable, data)
}
final override fun visitControlFlowGraphOwner(controlFlowGraphOwner: FirControlFlowGraphOwner, data: D): CompositeTransformResult<FirControlFlowGraphOwner> {
return transformControlFlowGraphOwner(controlFlowGraphOwner, data)
}
final override fun visitTargetElement(targetElement: FirTargetElement, data: D): CompositeTransformResult<FirTargetElement> {
return transformTargetElement(targetElement, data)
}
@@ -14,7 +14,6 @@ import org.jetbrains.kotlin.fir.declarations.FirImport
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
import org.jetbrains.kotlin.fir.FirSymbolOwner
import org.jetbrains.kotlin.fir.expressions.FirResolvable
import org.jetbrains.kotlin.fir.FirControlFlowGraphOwner
import org.jetbrains.kotlin.fir.FirTargetElement
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirResolvedDeclarationStatus
@@ -143,8 +142,6 @@ abstract class FirVisitor<out R, in D> {
open fun visitResolvable(resolvable: FirResolvable, data: D): R = visitElement(resolvable, data)
open fun visitControlFlowGraphOwner(controlFlowGraphOwner: FirControlFlowGraphOwner, data: D): R = visitElement(controlFlowGraphOwner, data)
open fun visitTargetElement(targetElement: FirTargetElement, data: D): R = visitElement(targetElement, data)
open fun visitDeclarationStatus(declarationStatus: FirDeclarationStatus, data: D): R = visitElement(declarationStatus, data)
@@ -14,7 +14,6 @@ import org.jetbrains.kotlin.fir.declarations.FirImport
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
import org.jetbrains.kotlin.fir.FirSymbolOwner
import org.jetbrains.kotlin.fir.expressions.FirResolvable
import org.jetbrains.kotlin.fir.FirControlFlowGraphOwner
import org.jetbrains.kotlin.fir.FirTargetElement
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirResolvedDeclarationStatus
@@ -159,10 +158,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitElement(resolvable)
}
open fun visitControlFlowGraphOwner(controlFlowGraphOwner: FirControlFlowGraphOwner) {
visitElement(controlFlowGraphOwner)
}
open fun visitTargetElement(targetElement: FirTargetElement) {
visitElement(targetElement)
}
@@ -611,10 +606,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitResolvable(resolvable)
}
final override fun visitControlFlowGraphOwner(controlFlowGraphOwner: FirControlFlowGraphOwner, data: Nothing?) {
visitControlFlowGraphOwner(controlFlowGraphOwner)
}
final override fun visitTargetElement(targetElement: FirTargetElement, data: Nothing?) {
visitTargetElement(targetElement)
}
@@ -18,7 +18,6 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
val symbolOwner = element("SymbolOwner", Other)
val resolvable = element("Resolvable", Expression)
val controlFlowGraphOwner = element("ControlFlowGraphOwner", Other)
val targetElement = element("TargetElement", Other)
val declarationStatus = element("DeclarationStatus", Declaration)
@@ -37,7 +36,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
val variable = element("Variable", Declaration, callableDeclaration, declaration, statement)
val valueParameter = element("ValueParameter", Declaration, variable)
val property = element("Property", Declaration, variable, controlFlowGraphOwner, typeParametersOwner, callableMemberDeclaration)
val property = element("Property", Declaration, variable, typeParametersOwner, callableMemberDeclaration)
val field = element("Field", Declaration, variable, callableMemberDeclaration)
val enumEntry = element("EnumEntry", Declaration, variable, callableMemberDeclaration)
@@ -47,7 +46,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
val sealedClass = element("SealedClass", Declaration, regularClass)
val typeAlias = element("TypeAlias", Declaration, classLikeDeclaration, memberDeclaration, typeParametersOwner)
val function = element("Function", Declaration, callableDeclaration, controlFlowGraphOwner, targetElement, annotationContainer, typeParametersOwner, statement)
val function = element("Function", Declaration, callableDeclaration, targetElement, annotationContainer, typeParametersOwner, statement)
val contractDescriptionOwner = element("ContractDescriptionOwner", Declaration)
val simpleFunction = element("SimpleFunction", Declaration, function, callableMemberDeclaration, contractDescriptionOwner)
@@ -47,10 +47,6 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
+symbolWithPackage("fir.symbols", "AbstractFirBasedSymbol", "E")
}
controlFlowGraphOwner.configure {
+controlFlowGraphReferenceField.withTransform()
}
typeParametersOwner.configure {
+typeParameters
}
@@ -88,6 +84,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
function.configure {
withArg("F", "FirFunction<F>")
parentArg(callableDeclaration, "F", "F")
+controlFlowGraphReferenceField.withTransform()
+symbol("FirFunctionSymbol", "F")
+valueParameters.withTransform()
+body(nullable = true)
@@ -276,6 +273,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
property.configure {
parentArg(variable, "F", property)
parentArg(callableMemberDeclaration, "F", property)
+controlFlowGraphReferenceField.withTransform()
+symbol("FirPropertySymbol")
+field("backingFieldSymbol", backingFieldSymbolType)
+booleanField("isLocal")