classArguments method

Parser<({List<ExpressionNode> bases, List<KeywordNode> kw})> classArguments()
inherited

Implementation

Parser<({List<ExpressionNode> bases, List<KeywordNode> kw})>
classArguments() =>
    seq2(
      ref0(classArg).plusSeparated(ref1(token, ',')),
      ref1(token, ',').optional(),
    ).map2((seq, _) {
      final bases = <ExpressionNode>[];
      final kw = <KeywordNode>[];
      for (final item in seq.elements) {
        if (item is KeywordNode) {
          kw.add(item);
        } else {
          bases.add(item as ExpressionNode);
        }
      }
      return (bases: bases, kw: kw);
    });