Keep `(context, expression)` in `Ast_aggregated` for test purging
type:internal
For LIGO developers
This MR comes from discussion with Rémi.
There's a new pass that does test purging (i.e. removing test related definitions), see !2010 (merged). However, this pass depends on the form of an aggregated contract in Ast_aggregated
: a let a1 = ... in let a2 = ... in main
.
This MR keeps context (sequence of defs. a1
, a2
, ...) separated from main
expression until a later stage, giving Self_ast_aggregated
access to the context + expression to some passes, which can profit from this presentation.
Changelog details:
Edited by E. Rivas