withStatement method

Parser<StatementNode> withStatement()
inherited

Implementation

Parser<StatementNode> withStatement() =>
    seq4(
      ref0(asyncToken).optional(),
      ref0(withToken),
      [
        seq3(
          ref1(token, '('),
          ignore(ref0(withItems)),
          ref1(token, ')'),
        ).map3((_, items, _) => items),
        ref0(withItems),
      ].toChoiceParser(),
      seq2(ref1(token, ':'), ref0(suite)).map2((_, s) => s),
    ).map4((isAsync, _, items, body) {
      if (isAsync != null) {
        return AsyncWithNode(items: items, body: body);
      }
      return WithNode(items: items, body: body);
    });