Mutare.CallRouting.Call (mutare v0.1.1)

Copy Markdown View Source

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

t()

@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())
}