forStatement method
Implementation
Parser<StatementNode> forStatement() =>
seq5(
ref0(asyncToken).optional(),
ref0(forToken),
seq3(ref0(starTargets), ref0(inToken), ref0(expressionList)),
seq2(ref1(token, ':'), ref0(suite)).map2((_, s) => s),
ref0(elseClause).optional(),
).map5((isAsync, _, inSeq, body, orelse) {
if (isAsync != null) {
return AsyncForNode(
target: inSeq.$1,
iter: inSeq.$3,
body: body,
orelse: orelse ?? const [],
);
}
return ForNode(
target: inSeq.$1,
iter: inSeq.$3,
body: body,
orelse: orelse ?? const [],
);
});