public record class BoundForAn @for.
No guide page documents this yet — the page shows what the code says about itself.
Fields and properties (8)
public string VariableThe loop variable's name.
public BoundExpression SequenceThe C# that produces the items.
public BoundExpression? KeyThe body's key expression, if its root element carries one.
public ImmutableArray<BoundNode> BodyWhat each item builds.
public string? IndexThe name bound to the row's position, or null when the loop declares none. ⚠ It arrives in the body as a Signal<int> and not as an int, which is the whole of the feature rather than an implementation note. BuildContext.For reuses a surviving key's region and never re-runs its body, so a position captured by a lambda is the position that row had when its key first appeared — right until anything moves, and silently wrong afterwards. A signal the reconciler writes on each pass is re-read by whatever in the body read it, and a row that did not move costs an equality check.
public int? ExitAfterHow long a removed row is kept, in whole milliseconds, or null to remove it at once.
public string? ExitClassThe class a leaving row wears, or null to take ExitSpec's own default.
public ImmutableArray<BoundNode> EmptyThe @empty arm's content; empty when the loop declares none.
Methods (1)
public BoundFor(string Variable, BoundExpression Sequence, BoundExpression? Key, ImmutableArray<BoundNode> Body, string? Index = null)An @for.
Used by (4)
- BinderVixen.Ui.Markup
- BinderTestsVixen.Ui.Markup.Tests
- ComponentEmitterVixen.Ui.Markup
- PreviewCodeEditorViewVixen.Editor.AssetEditors