ifStatement method
Implementation
Parser<IfStatementNode> ifStatement() =>
seq6(
ref0(ifToken),
ref1(token, '('),
ref0(ifCondition),
ref1(token, ')'),
ref0(statement),
(ref0(elseToken) & ref0(statement))
.map((l) => l[1] as StatementNode)
.optional(),
).map6(
(_, _, cond, _, thenBranch, elseBranch) => IfStatementNode(
condition: cond.$1,
casePattern: cond.$2,
whenGuard: cond.$3,
thenBranch: thenBranch,
elseBranch: elseBranch,
),
);