[FIR] Add a class representing the old syntax contract description in order to use the previous class for the new syntax

This commit is contained in:
Arsen Nagdalian
2020-07-19 03:11:19 +03:00
parent b83aa88eff
commit 6c06008b4d
14 changed files with 145 additions and 16 deletions
@@ -154,6 +154,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
val effectDeclaration = element("EffectDeclaration", Contracts)
val contractDescription = element("ContractDescription", Contracts)
val legacyRawContractDescription = element("LegacyRawContractDescription", Contracts, contractDescription)
val rawContractDescription = element("RawContractDescription", Contracts, contractDescription)
val resolvedContractDescription = element("ResolvedContractDescription", Contracts, contractDescription)
}
@@ -610,13 +610,17 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
}
rawContractDescription.configure {
+field("contractCall", functionCall)
+fieldList("rawEffects", expression)
}
resolvedContractDescription.configure {
+fieldList("effects", effectDeclaration)
+fieldList("unresolvedEffects", statement)
}
legacyRawContractDescription.configure {
+field("contractCall", functionCall)
}
}
}