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);
         }

Reply via email to