Sometimes, we might have a series of statements that need to be kept together without interruption by insertion or surround actions. The implicit block lets us group together statements along with block-scoped metadata; while I initially added this to make it possible to insert dead-code blocks that aren't explicit in the C code, it seems like it could be repurposed to perform this grouping.
For this, we need a few new flags. I'm thinking:
a high-level Sealed metadata flag (which makes the intent - this block is 'sealed' and cannot be disturbed - clear);
some low-level NoInsertion, NoTransform and/or NoTransformList flags (though I might see if I can just make it a No of Path_kind.t flag!), which are automatically inserted into the negative flag position when we produce a path of the specific type.
I'd then make a seal function that generates these sealed blocks.
Sometimes, we might have a series of statements that need to be kept together without interruption by insertion or surround actions. The implicit block lets us group together statements along with block-scoped metadata; while I initially added this to make it possible to insert dead-code blocks that aren't explicit in the C code, it seems like it could be repurposed to perform this grouping.
For this, we need a few new flags. I'm thinking:
Sealed
metadata flag (which makes the intent - this block is 'sealed' and cannot be disturbed - clear);NoInsertion
,NoTransform
and/orNoTransformList
flags (though I might see if I can just make it aNo of Path_kind.t
flag!), which are automatically inserted into the negative flag position when we produce a path of the specific type.I'd then make a
seal
function that generates these sealed blocks.