parameterList method

Parser<List<FormalParameterNode>?> parameterList()

Implementation

Parser<List<FormalParameterNode>?> parameterList() => seq3(
  ref1(token, '('),
  seq4(
        ref1(token, 'var').optional(),
        ref0(identifier)
            .plusSeparated(ref1(token, ','))
            .map((sep) => sep.elements),
        ref1(token, ':'),
        ref0(identifier),
      )
      .map4(
        (varKeyword, names, _, type) => FormalParameterNode(
          names: names,
          type: SimpleTypeNode(type),
          isVar: varKeyword != null,
        ),
      )
      .plusSeparated(ref1(token, ';'))
      .map((sep) => sep.elements),
  ref1(token, ')'),
).map3((_, params, _) => params).optional();