private FormalParameterListTree parseFormalParameterList(ParamContext context) { SourcePosition listStart = getTreeStartLocation(); eat(TokenType.OPEN_PAREN); ImmutableList.Builder<ParseTree> result = ImmutableList.builder(); while (peekParameter(context)) { result.add(parseParameter(context)); if (!peek(TokenType.CLOSE_PAREN)) { Token comma = eat(TokenType.COMMA); if (peek(TokenType.CLOSE_PAREN)) { reportError(comma, "Invalid trailing comma in formal parameter list"); } } } eat(TokenType.CLOSE_PAREN); return new FormalParameterListTree( getTreeLocation(listStart), result.build()); }
private FormalParameterListTree parseFormalParameterList(ParamContext context) { SourcePosition listStart = getTreeStartLocation(); eat(TokenType.OPEN_PAREN); ImmutableList.Builder<ParseTree> result = ImmutableList.builder(); while (peekParameter(context)) { result.add(parseParameter(context)); if (!peek(TokenType.CLOSE_PAREN)) { Token comma = eat(TokenType.COMMA); if (peek(TokenType.CLOSE_PAREN)) { recordFeatureUsed(Feature.TRAILING_COMMA_IN_PARAM_LIST); if (!config.atLeast8) { reportError(comma, "Invalid trailing comma in formal parameter list"); } } } } eat(TokenType.CLOSE_PAREN); return new FormalParameterListTree( getTreeLocation(listStart), result.build()); }
getTreeLocation(start), ImmutableList.of(parseParameter(ParamContext.IMPLEMENTATION))); eat(TokenType.CLOSE_PAREN); return result; ImmutableList.of(result, parseParameter(ParamContext.IMPLEMENTATION)));
parseParameter(ParamContext.IMPLEMENTATION)); eat(TokenType.CLOSE_PAREN); if (peek(TokenType.ARROW)) { ImmutableList.of(result, parseParameter(ParamContext.IMPLEMENTATION)));