conditionalExpression method
Conditional expression: test_or_expr if test else expr.
Implementation
Parser<ExpressionNode> conditionalExpression() =>
seq2(
ref0(disjunction),
seq3(
ref0(ifToken),
ref0(disjunction),
seq2(ref0(elseToken), ref0(singleExpression)).map2((_, e) => e),
).optional(),
).map2((body, orelsePart) {
if (orelsePart == null) return body;
final test = orelsePart.$2;
final orelse = orelsePart.$3;
return IfExpNode(test: test, body: body, orelse: orelse);
});