One logical fragment and its mutations returned by a macro host.
Build targets with new/4; the struct is opaque so Mutare can extend its internal
representation without making every field part of the callback contract.
Summary
Functions
Build a hosted mutation target.
Types
Functions
@spec new( Macro.t(), [Mutare.Mutator.mutation()], (Macro.t(), Macro.t() -> Macro.t()), keyword() ) :: t()
Build a hosted mutation target.
Options are :wrap, a one-argument branch wrapper, and :range, the source range reported for
the site when a mutation has no attribution of its own. Mutare defaults :wrap to identity
and :range to the original fragment's range. A mutation's explicit attribution takes
precedence and must lie within the target's range; it changes reporting, not the node
passed through :wrap and splice.