Source
pub fn forFull(tree: Ast, node: Node.Index) full.For {
const extra_index, const extra = tree.nodeData(node).@"for";
const inputs = tree.extraDataSliceWithLen(extra_index, extra.inputs, Node.Index);
const then_expr: Node.Index = @enumFromInt(tree.extra_data[@intFromEnum(extra_index) + extra.inputs]);
const else_expr: Node.OptionalIndex = if (extra.has_else) @enumFromInt(tree.extra_data[@intFromEnum(extra_index) + extra.inputs + 1]) else .none;
return tree.fullForComponents(.{
.for_token = tree.nodeMainToken(node),
.inputs = inputs,
.then_expr = then_expr,
.else_expr = else_expr,
});
}