purpleidea / mgmt

Next generation distributed, event-driven, parallel config management!
https://purpleidea.com/tags/mgmtconfig/
GNU General Public License v3.0
3.58k stars 311 forks source link

lang: CallExpr must generate a subgraph #697

Closed gelisam closed 1 year ago

gelisam commented 1 year ago

FuncValues are now manipulating the graph instead of manipulating values, so the logic for calling a FuncValue must now follow suit.

gelisam commented 1 year ago

This PR builds on top of https://github.com/purpleidea/mgmt/pull/696, and so the diff will be much easier to review after that one is merged.

This is the majority of the work @purpleidea and I did this weekend during our pairing session. It is relatively self-contained because it all pertains to porting ExprCall to the new representation introduced in #696.

gelisam commented 1 year ago

force-pushed to remove a temporary commit which I did not mean to include in this PR.

gelisam commented 1 year ago

The tests fail, but as in #696, this is expected, because a lot of panic calls remain.

gelisam commented 1 year ago

This PR has now been incorporated into #704. Closing.