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
@@ -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")