forBlock function
Implementation
Parser forBlock() => seq4(
ref0(forTag),
ref0(element).starLazy(
ref0(elseTag).or(ref0(endForTag)),
),
ref0(elseBlockForFor).optional(),
ref0(endForTag),
).map((values) {
final forTag = values.$1 as Tag;
final forBody = (values.$2).cast<ASTNode>();
final elseBlockForFor = values.$3 as Tag?;
final List<ASTNode> allBodyNodes = [...forBody];
if (elseBlockForFor != null) {
allBodyNodes.add(elseBlockForFor);
}
return forTag.copyWith(body: allBodyNodes);
}).labeled('forBlock');