tame/tamer/tests/xmli/meta-interp
Mike Gerwitz 5a301c1548 tamer: asg::graph::visit::ontree: Source ordering of ontological tree
This introduces the ability to specify an edge ordering for the ontological
tree traversal.  `tree_reconstruction` will now use a
`SourceCompatibleTreeEdgeOrder`, which will traverse the graph in an order
that will result in a properly ordered source reconstruction.  This is
needed for template headers, because interpolation causes
metavariables (exposed as template params) to be mixed into the body.

There's a lot of information here, including some TODOs on possible
improvements.  I used the unstable `is_sorted` to output how many template
were already sorted, based on one of our very large packages internally that
uses templates extensively, and found that none of the desugared shorthand
template expansions were already ordered.  If I tweak that a bit, then
nearly all templates will already be ordered, reducing the work that needs
to be done, leaving only template definitions with interpolation to be
concerned about, which is infrequent relative to everything else.

DEV-13163
2023-07-18 10:31:31 -04:00
..
expected.xml tamer: asg::graph::visit::ontree: Source ordering of ontological tree 2023-07-18 10:31:31 -04:00
is-experimental tamer: xmli reconstruction of desugared interpolated metavars 2023-07-17 14:20:05 -04:00
no-fixpoint tamer: xmli reconstruction of desugared interpolated metavars 2023-07-17 14:20:05 -04:00
src.xml tamer: xmli reconstruction of desugared interpolated metavars 2023-07-17 14:20:05 -04:00