Stable, resolved view of a known-macro call passed to routing and hosting callbacks.
arguments contains only arguments visible in the written call. For a piped call, the pipe's
left side is the macro's effective argument zero but is not part of the call node; pipe_mode
and effective_arity make that distinction explicit. rebuild.(name, arguments) preserves the
source's bare, qualified, or aliased call form.
The struct is produced by Mutare. Extension callbacks should match only the fields they need so additional fields can be added compatibly.
Summary
Types
@type t() :: %Mutare.CallRouting.Call{ arguments: [Macro.t()], effective_arity: non_neg_integer(), module: module() | atom() | nil, name: atom(), node: Macro.t(), pipe_mode: Mutare.Mutator.pipe_mode(), rebuild: (atom(), [Macro.t()] -> Macro.t()) }