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