ifCondition method
Implementation
Parser<(ExpressionNode, PatternNode?, ExpressionNode?)> ifCondition() => [
// Pattern if: expr case pattern [when guard]
seq4(
ref0(expression),
ref0(caseToken),
ref0(dartPattern),
ref0(patternGuard).optional(),
).map4((expr, _, p, guard) => (expr, p as PatternNode?, guard)),
// Normal if: expr
ref0(expression)
.map((expr) => (expr, null as PatternNode?, null as ExpressionNode?)),
].toChoiceParser();