You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2017/06/22 10:02:05 UTC
[4/4] groovy git commit: Minor refactoring
Minor refactoring
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/e7639a3c
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/e7639a3c
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/e7639a3c
Branch: refs/heads/GROOVY_2_6_X
Commit: e7639a3cc125f2e828fe1d9017158e454431708f
Parents: ad740b1
Author: sunlan <su...@apache.org>
Authored: Sat May 27 23:16:11 2017 +0800
Committer: paulk <pa...@asert.com.au>
Committed: Thu Jun 22 19:57:41 2017 +1000
----------------------------------------------------------------------
.../apache/groovy/parser/antlr4/GroovyParser.g4 | 21 ++++++++++----------
.../apache/groovy/parser/antlr4/AstBuilder.java | 12 +++++------
2 files changed, 16 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/e7639a3c/subprojects/parser-antlr4/src/main/antlr4/org/apache/groovy/parser/antlr4/GroovyParser.g4
----------------------------------------------------------------------
diff --git a/subprojects/parser-antlr4/src/main/antlr4/org/apache/groovy/parser/antlr4/GroovyParser.g4 b/subprojects/parser-antlr4/src/main/antlr4/org/apache/groovy/parser/antlr4/GroovyParser.g4
index 972da10..d81056b 100644
--- a/subprojects/parser-antlr4/src/main/antlr4/org/apache/groovy/parser/antlr4/GroovyParser.g4
+++ b/subprojects/parser-antlr4/src/main/antlr4/org/apache/groovy/parser/antlr4/GroovyParser.g4
@@ -486,12 +486,12 @@ gstringPath
// LAMBDA EXPRESSION
-lambda
-options { baseContext = standardLambda; }
+lambdaExpression
+options { baseContext = standardLambdaExpression; }
: lambdaParameters nls ARROW nls lambdaBody
;
-standardLambda
+standardLambdaExpression
: standardLambdaParameters nls ARROW nls lambdaBody
;
@@ -730,7 +730,6 @@ finallyBlock
: FINALLY nls block
;
-
resources
: LPAREN nls resourceList sep? rparen
;
@@ -794,11 +793,6 @@ expressionInPar
: LPAREN enhancedStatementExpression rparen
;
-enhancedStatementExpression
- : statementExpression
- | standardLambda
- ;
-
expressionList[boolean canSpread]
: expressionListElement[$canSpread] (COMMA expressionListElement[$canSpread])*
;
@@ -809,6 +803,11 @@ expressionListElement[boolean canSpread]
) expression
;
+enhancedStatementExpression
+ : statementExpression
+ | standardLambdaExpression
+ ;
+
/**
* In order to resolve the syntactic ambiguities, e.g. (String)'abc' can be parsed as a cast expression or a parentheses-less method call(method name: (String), arguments: 'abc')
* try to match expression first.
@@ -1068,7 +1067,7 @@ primary
| SUPER #superPrmrAlt
| parExpression #parenPrmrAlt
| closure #closurePrmrAlt
- | lambda #lambdaPrmrAlt
+ | lambdaExpression #lambdaPrmrAlt
| list #listPrmrAlt
| map #mapPrmrAlt
| builtInType #typePrmrAlt
@@ -1174,7 +1173,7 @@ options { baseContext = enhancedArgumentListElement; }
enhancedArgumentListElement
: expressionListElement[true]
- | standardLambda
+ | standardLambdaExpression
| mapEntry
;
http://git-wip-us.apache.org/repos/asf/groovy/blob/e7639a3c/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 c8d8eae..037b949 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
@@ -1875,8 +1875,8 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> implements Groov
if (asBoolean(ctx.statementExpression())) {
expression = ((ExpressionStatement) this.visit(ctx.statementExpression())).getExpression();
- } else if (asBoolean(ctx.standardLambda())) {
- expression = this.visitStandardLambda(ctx.standardLambda());
+ } else if (asBoolean(ctx.standardLambdaExpression())) {
+ expression = this.visitStandardLambdaExpression(ctx.standardLambdaExpression());
} else {
throw createParsingFailedException("Unsupported enhanced statement expression: " + ctx.getText(), ctx);
}
@@ -2269,8 +2269,8 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> implements Groov
return this.configureAST(this.visitExpressionListElement(ctx.expressionListElement()), ctx);
}
- if (asBoolean(ctx.standardLambda())) {
- return this.configureAST(this.visitStandardLambda(ctx.standardLambda()), ctx);
+ if (asBoolean(ctx.standardLambdaExpression())) {
+ return this.configureAST(this.visitStandardLambdaExpression(ctx.standardLambdaExpression()), ctx);
}
if (asBoolean(ctx.mapEntry())) {
@@ -2716,7 +2716,7 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> implements Groov
@Override
public ClosureExpression visitLambdaPrmrAlt(LambdaPrmrAltContext ctx) {
- return this.configureAST(this.visitStandardLambda(ctx.standardLambda()), ctx);
+ return this.configureAST(this.visitStandardLambdaExpression(ctx.standardLambdaExpression()), ctx);
}
@Override
@@ -3201,7 +3201,7 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> implements Groov
// } gstring --------------------------------------------------------------------
@Override
- public LambdaExpression visitStandardLambda(StandardLambdaContext ctx) {
+ public LambdaExpression visitStandardLambdaExpression(StandardLambdaExpressionContext ctx) {
return this.configureAST(this.createLambda(ctx.standardLambdaParameters(), ctx.lambdaBody()), ctx);
}