Statifier.Document.Cancel (Statifier v2.0.0)

Copy Markdown View Source

A <cancel> element: spec 6.3's instruction to cancel a delayed <send>.

Both sendid and sendidexpr are nonetheless simultaneously representable here, on purpose, mirroring Statifier.Document.Send's own moduledoc: 6.3.1 says exactly one of the two must occur, and Statifier.Validator.Checks.Cancel reports the shape rather than lowering refusing to build it.

<cancel> is executable content, exactly as <send> is: it is tagged {:content_node, cancel} by Statifier.Lowering.Builders.build_cancel/2 and lands in a block's own content list through the placement clauses every other content node already uses, rather than through a dedicated state-level slot. Unlike <send>, it has no children of its own.

Summary

Types

t()

@type t() :: %Statifier.Document.Cancel{
  attribute_locations: Statifier.Document.attribute_locations(),
  location: Statifier.Parser.Location.t(),
  sendid: String.t() | nil,
  sendidexpr: String.t() | nil
}