You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2017/09/30 12:53:58 UTC
groovy git commit: Minor refactoring: list
Repository: groovy
Updated Branches:
refs/heads/master d1c9de369 -> cbb9a6be1
Minor refactoring: list
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/cbb9a6be
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/cbb9a6be
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/cbb9a6be
Branch: refs/heads/master
Commit: cbb9a6be1dbff6fa43dd9c32b2bed55b1874a608
Parents: d1c9de3
Author: sunlan <su...@apache.org>
Authored: Sat Sep 30 20:53:46 2017 +0800
Committer: sunlan <su...@apache.org>
Committed: Sat Sep 30 20:53:46 2017 +0800
----------------------------------------------------------------------
src/antlr/GroovyParser.g4 | 12 +-----------
.../org/apache/groovy/parser/antlr4/AstBuilder.java | 13 ++++++++++---
2 files changed, 11 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/cbb9a6be/src/antlr/GroovyParser.g4
----------------------------------------------------------------------
diff --git a/src/antlr/GroovyParser.g4 b/src/antlr/GroovyParser.g4
index 36c4bde..f2098e3 100644
--- a/src/antlr/GroovyParser.g4
+++ b/src/antlr/GroovyParser.g4
@@ -1064,17 +1064,7 @@ primary
;
list
-locals[boolean empty = true]
- : LBRACK
- (
- expressionList[true]
- { $empty = false; }
- )?
- (
- COMMA
- { require(!$empty, "Empty list constructor should not contain any comma(,)", -1); }
- )?
- RBRACK
+ : LBRACK expressionList[true]? COMMA? RBRACK
;
map
http://git-wip-us.apache.org/repos/asf/groovy/blob/cbb9a6be/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
----------------------------------------------------------------------
diff --git a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
index b1a9fa6..dfa370f 100644
--- a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
+++ b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
@@ -2261,7 +2261,7 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> implements Groov
@Override
public Expression visitArguments(ArgumentsContext ctx) {
if (asBoolean(ctx) && asBoolean(ctx.COMMA()) && !asBoolean(ctx.enhancedArgumentList())) {
- throw createParsingFailedException("Expression expected", ctx);
+ throw createParsingFailedException("Expression expected", ctx.COMMA());
}
if (!asBoolean(ctx) || !asBoolean(ctx.enhancedArgumentList())) {
@@ -3094,6 +3094,10 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> implements Groov
@Override
public ListExpression visitList(ListContext ctx) {
+ if (asBoolean(ctx.COMMA()) && !asBoolean(ctx.expressionList())) {
+ throw createParsingFailedException("Empty list constructor should not contain any comma(,)", ctx.COMMA());
+ }
+
return configureAST(
new ListExpression(
this.visitExpressionList(ctx.expressionList())),
@@ -4271,7 +4275,11 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> implements Groov
node.getLastColumnNumber()));
}
- /*
+
+ private CompilationFailedException createParsingFailedException(String msg, TerminalNode node) {
+ return createParsingFailedException(msg, node.getSymbol());
+ }
+
private CompilationFailedException createParsingFailedException(String msg, Token token) {
return createParsingFailedException(
new SyntaxException(msg,
@@ -4280,7 +4288,6 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> implements Groov
token.getLine(),
token.getCharPositionInLine() + 1 + token.getText().length()));
}
- */
private CompilationFailedException createParsingFailedException(Throwable t) {
if (t instanceof SyntaxException) {