Skip to content

Constructors

Jasper Quillweld edited this page Oct 20, 2026 · 1 revision

Constructors (explicit *Builder names)

Every friendly builder also appears under an explicit *Builder name. Use whichever you prefer:

Friendly Explicit Emits
Action ActionUsageBuilder action X;
Actor ActorUsageBuilder actor X;
Attribute AttributeUsageBuilder attribute X;
Connection ConnectionUsageBuilder connection X;
Constraint ConstraintUsageBuilder constraint X;
Interface InterfaceUsageBuilder interface X;
Item ItemUsageBuilder item X;
ObjectiveRequirement ObjectiveRequirementUsageBuilder objective X;
Occurrence OccurrenceUsageBuilder occurrence X;
Part PartUsageBuilder part X;
Port PortUsageBuilder port X;
Reference ReferenceUsageBuilder reference X;
Requirement RequirementUsageBuilder requirement X;
State StateUsageBuilder state X;
Subject SubjectUsageBuilder subject X;
Transition TransitionUsageBuilder transition X;
UseCase UseCaseUsageBuilder use case X;

The container / non-usage builders keep the suffix even in their friendly form (their friendly names collide with AST node classes):

Builder Emits
PackageBuilder package ...
CommentBuilder comment ...
ImportBuilder import ...
MessageBuilder message ...
SuccessionBuilder succession ...
AliasMemberBuilder alias member ...

Builder base

All builders subclass Builder, which provides add(), dump(), _set_name, _set_child, build_node(), and the kind= machinery. build_node().get_definition() returns the element's definition Node.

Clone this wiki locally