fn filter_emits_in_block(block: &mut Block, expressions: &Arena<Expression>)Expand description
Adjust Emit statements in block to skip needs_pre_emit expressions we have introduced.
According to validation, Emit statements must not cover any expressions
for which Expression::needs_pre_emit returns true. All expressions built
by successful constant evaluation fall into that category, meaning that
process_function will usually rewrite Override expressions and those
that use their values into pre-emitted expressions, leaving any Emit
statements that cover them invalid.
This function rewrites all Emit statements into zero or more new
Emit statements covering only those expressions in the original range
that are not pre-emitted.