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 e233f3428354504f9c88a8154ae159a3b6a5a308
Author: Daniel Sun <[email protected]>
AuthorDate: Mon Oct 5 00:54:02 2020 +0800

    GROOVY-8258: Add macro method LINQ
---
 ...GroovyMethods.java => LinqGroovyMethods.groovy} | 17 +++++++--------
 .../groovy/org/apache/groovy/linq/LinqTest.groovy} | 24 +++++++++++++---------
 2 files changed, 23 insertions(+), 18 deletions(-)

diff --git 
a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.java
 
b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.groovy
similarity index 65%
copy from 
subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.java
copy to 
subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.groovy
index 936e6be..224c958 100644
--- 
a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.java
+++ 
b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.groovy
@@ -16,17 +16,18 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.groovy.linq;
+package org.apache.groovy.linq
 
-import org.codehaus.groovy.ast.expr.ClosureExpression;
-import org.codehaus.groovy.ast.expr.Expression;
-import org.codehaus.groovy.macro.runtime.Macro;
-import org.codehaus.groovy.macro.runtime.MacroContext;
+import org.codehaus.groovy.ast.expr.ClosureExpression
+import org.codehaus.groovy.ast.expr.ConstantExpression
+import org.codehaus.groovy.ast.expr.Expression
+import org.codehaus.groovy.macro.runtime.Macro
+import org.codehaus.groovy.macro.runtime.MacroContext
 
-public class LinqGroovyMethods {
+class LinqGroovyMethods {
     @Macro
-    public static Expression LINQ(MacroContext ctx, final ClosureExpression 
closureExpression) {
-        return null; // TODO
+    static Expression LINQ(MacroContext ctx, final ClosureExpression 
closureExpression) {
+        return macro { 'TODO LINQ' }
     }
 }
 
diff --git 
a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.java
 
b/subprojects/groovy-linq/src/test/groovy/org/apache/groovy/linq/LinqTest.groovy
similarity index 67%
rename from 
subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.java
rename to 
subprojects/groovy-linq/src/test/groovy/org/apache/groovy/linq/LinqTest.groovy
index 936e6be..701f1c6 100644
--- 
a/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.java
+++ 
b/subprojects/groovy-linq/src/test/groovy/org/apache/groovy/linq/LinqTest.groovy
@@ -16,17 +16,21 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.groovy.linq;
+package org.apache.groovy.linq
 
-import org.codehaus.groovy.ast.expr.ClosureExpression;
-import org.codehaus.groovy.ast.expr.Expression;
-import org.codehaus.groovy.macro.runtime.Macro;
-import org.codehaus.groovy.macro.runtime.MacroContext;
 
-public class LinqGroovyMethods {
-    @Macro
-    public static Expression LINQ(MacroContext ctx, final ClosureExpression 
closureExpression) {
-        return null; // TODO
+import groovy.transform.CompileStatic
+import org.junit.Test
+
+import static groovy.test.GroovyAssert.assertScript
+
+
+@CompileStatic
+class LinqTest {
+    @Test
+    void testLinqMacroMethod() {
+        assertScript '''
+            assert 'TODO LINQ' == LINQ {}
+        '''
     }
 }
-

Reply via email to