This is an automated email from the ASF dual-hosted git repository. emilles pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/master by this push: new 7f6720b17c GROOVY-11601: remove support for expression list in `for`-each statement 7f6720b17c is described below commit 7f6720b17cd81ba62f82a71d6353963ac31fc7d4 Author: Eric Milles <eric.mil...@thomsonreuters.com> AuthorDate: Fri Apr 4 15:28:48 2025 -0500 GROOVY-11601: remove support for expression list in `for`-each statement --- src/antlr/GroovyParser.g4 | 1 - .../java/org/apache/groovy/parser/antlr4/AstBuilder.java | 13 ++----------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/antlr/GroovyParser.g4 b/src/antlr/GroovyParser.g4 index b41faad333..18c08b5f44 100644 --- a/src/antlr/GroovyParser.g4 +++ b/src/antlr/GroovyParser.g4 @@ -704,7 +704,6 @@ originalForControl forInit : localVariableDeclaration - | expressionList[false] ; forUpdate diff --git a/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java b/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java index 74d8c062e3..c8daa1b606 100644 --- a/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java +++ b/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java @@ -545,10 +545,6 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> { } } - if (asBoolean(ctx.expressionList())) { - return this.translateExpressionList(ctx.expressionList()); - } - throw createParsingFailedException("Unsupported for init: " + ctx.getText(), ctx); } @@ -558,14 +554,9 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> { return EmptyExpression.INSTANCE; } - return this.translateExpressionList(ctx.expressionList()); - } - - private Expression translateExpressionList(final ExpressionListContext ctx) { - List<Expression> expressionList = this.visitExpressionList(ctx); - + var expressionList = this.visitExpressionList(ctx.expressionList()); if (expressionList.size() == 1) { - return configureAST(expressionList.get(0), ctx); + return configureAST(expressionList.get(0), ctx); // one Expression } else { return configureAST(new ClosureListExpression(expressionList), ctx); }