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 <[email protected]>
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);
}