Statifier.Effect.Log (Statifier v2.0.0)

Copy Markdown View Source

Payload for {:log, %__MODULE__{}} - spec 4.7's <log>. label is the label attribute (nil when the element omits it); value is the resolved expr (or nil for a label-only <log>).

c_index identifies the <log> content node (constraint 3, never a compiled content-node struct); a bare c_index alone is not enough to correlate the log back to its place in the document, the same gap Statifier.Event.Cause's post-review correction found for origin (lib/statifier/event/cause.ex:13-26) - it resolves to the node's own Location but names nothing about which <onentry>/<onexit> block or transition emitted it - so owner rides alongside it. macrostep/ microstep/round are the counters as they stood when the log ran. This is the only effect the interpreter produces today.

Summary

Types

Which block emitted the log - Statifier.Machine.Content.owner/0.

t()

Types

owner()

@type owner() :: Statifier.Machine.Content.owner()

Which block emitted the log - Statifier.Machine.Content.owner/0.

t()

@type t() :: %Statifier.Effect.Log{
  c_index: non_neg_integer() | nil,
  label: String.t() | nil,
  macrostep: non_neg_integer(),
  microstep: non_neg_integer(),
  owner: owner() | nil,
  round: non_neg_integer(),
  value: term()
}