switchExpression method

Parser<SwitchExpressionNode> switchExpression()
inherited

Implementation

Parser<SwitchExpressionNode> switchExpression() =>
    seq5(
      ref0(switchToken),
      ref1(token, '('),
      ref0(expression),
      ref1(token, ')'),
      seq3(
        ref1(token, '{'),
        ref0(switchExpressionCase)
            .plusSeparated(ref1(token, ','))
            .map((l) => l.elements)
            .optionalWith(const <SwitchExpressionCaseNode>[]),
        seq2(ref1(token, ',').optional(), ref1(token, '}')),
      ).map3((_, cases, _) => cases),
    ).map5(
      (_, _, expr, _, cases) =>
          SwitchExpressionNode(expression: expr, cases: cases),
    );