parseArguments method

List<ArgumentContext>? parseArguments()

Implementation

List<ArgumentContext>? parseArguments() {
  if (next(TokenType.LPAREN) && current != null) {
    var LPAREN = current!;
    var out = <ArgumentContext>[];
    var arg = parseArgument();

    while (arg != null) {
      out.add(arg);
      eatCommas();
      arg = parseArgument();
    }

    if (next(TokenType.RPAREN)) {
      return out;
    } else {
      errors.add(SyntaxError('Missing ")" in argument list.', LPAREN.span));
      return null;
    }
  } else {
    return [];
  }
}