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 2020/10/06 13:36:42 UTC

[groovy] 17/22: GROOVY-8258: Use `in` instead of `of` for better readability

This is an automated email from the ASF dual-hosted git repository.

sunlan pushed a commit to branch GROOVY-8258
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit 2318b694c78743658a7f1db347403ac4f1bed849
Author: Daniel Sun <su...@apache.org>
AuthorDate: Mon Oct 5 22:39:21 2020 +0800

    GROOVY-8258: Use `in` instead of `of` for better readability
---
 .../groovy/org/apache/groovy/linq/dsl/GinqAstBuilder.java    | 12 +++++-------
 .../src/test/groovy/org/apache/groovy/linq/GinqTest.groovy   |  6 +++---
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqAstBuilder.java b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqAstBuilder.java
index 0e75468..9a365e5 100644
--- a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqAstBuilder.java
+++ b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/dsl/GinqAstBuilder.java
@@ -27,6 +27,7 @@ import org.apache.groovy.linq.dsl.expression.WhereExpression;
 import org.codehaus.groovy.GroovyBugError;
 import org.codehaus.groovy.ast.CodeVisitorSupport;
 import org.codehaus.groovy.ast.expr.ArgumentListExpression;
+import org.codehaus.groovy.ast.expr.BinaryExpression;
 import org.codehaus.groovy.ast.expr.Expression;
 import org.codehaus.groovy.ast.expr.MethodCallExpression;
 
@@ -50,13 +51,10 @@ public class GinqAstBuilder extends CodeVisitorSupport {
         System.out.println(methodName + " : " + call);
 
         if ("from".equals(methodName)) {
-            return;
-        }
-
-        if ("of".equals(methodName)) {
-            MethodCallExpression fromMethodCallExpression = (MethodCallExpression) call.getObjectExpression();
-            Expression aliasExpr = ((ArgumentListExpression) fromMethodCallExpression.getArguments()).getExpression(0);
-            Expression dataSourceExpr = ((ArgumentListExpression) call.getArguments()).getExpression(0);
+            ArgumentListExpression arguments = (ArgumentListExpression) call.getArguments();
+            BinaryExpression binaryExpression = (BinaryExpression) arguments.getExpression(0);
+            Expression aliasExpr = binaryExpression.getLeftExpression();
+            Expression dataSourceExpr = binaryExpression.getRightExpression();
 
             FromExpression fromExpression = new FromExpression(aliasExpr, dataSourceExpr);
             simpleGinqExpression.addFromExpression(fromExpression);
diff --git a/subprojects/groovy-linq/src/test/groovy/org/apache/groovy/linq/GinqTest.groovy b/subprojects/groovy-linq/src/test/groovy/org/apache/groovy/linq/GinqTest.groovy
index d164a65..1cdb0ef 100644
--- a/subprojects/groovy-linq/src/test/groovy/org/apache/groovy/linq/GinqTest.groovy
+++ b/subprojects/groovy-linq/src/test/groovy/org/apache/groovy/linq/GinqTest.groovy
@@ -32,7 +32,7 @@ class GinqTest {
         assertScript '''
             def numbers = [0, 1, 2]
             assert [0, 1, 2] == GINQ {
-                from n of numbers
+                from n in numbers
                 select n
             }.toList()
         '''
@@ -43,7 +43,7 @@ class GinqTest {
         assertScript '''
             def numbers = [0, 1, 2]
             assert [0, 2, 4] == GINQ {
-                from n of numbers
+                from n in numbers
                 select n * 2
             }.toList()
         '''
@@ -54,7 +54,7 @@ class GinqTest {
         assertScript '''
             def numbers = [0, 1, 2, 3, 4, 5]
             assert [2, 4, 6] == GINQ {
-                from n of numbers
+                from n in numbers
                 where n > 0 && n <= 3
                 select n * 2
             }.toList()