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

paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/master by this push:
     new 8b9f0132b6 GROOVY-11596: Additional DGM lazy iterator methods (use 
helper method)
8b9f0132b6 is described below

commit 8b9f0132b6d42788221e60b266a330907ca8414e
Author: Paul King <[email protected]>
AuthorDate: Thu Apr 3 23:11:01 2025 +1000

    GROOVY-11596: Additional DGM lazy iterator methods (use helper method)
---
 .../java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java    | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git 
a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java 
b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
index 75674f050a..90e875ee1e 100644
--- a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
@@ -14054,7 +14054,7 @@ public class DefaultGroovyMethods extends 
DefaultGroovyMethodsSupport {
     public static <T, U> Iterator<U> tapEvery(
         @DelegatesTo.Target Iterator<U> self,
         int every,
-        @DelegatesTo(genericTypeIndex=0)
+        @DelegatesTo(genericTypeIndex = 0, strategy = Closure.DELEGATE_FIRST)
         @ClosureParams(FirstParam.FirstGenericType.class) Closure<T> closure) {
         return new TapIterator<>(self, closure, every);
     }
@@ -14088,7 +14088,7 @@ public class DefaultGroovyMethods extends 
DefaultGroovyMethodsSupport {
      */
     public static <T, U> Iterator<U> tapEvery(
         @DelegatesTo.Target Iterator<U> self,
-        @DelegatesTo(genericTypeIndex=0)
+        @DelegatesTo(genericTypeIndex = 0, strategy = Closure.DELEGATE_FIRST)
         @ClosureParams(FirstParam.FirstGenericType.class) Closure<T> closure) {
         return new TapIterator<>(self, closure, 1);
     }
@@ -14116,9 +14116,7 @@ public class DefaultGroovyMethods extends 
DefaultGroovyMethodsSupport {
             if (!hasNext()) throw new NoSuchElementException();
             T next = delegate.next();
             if (++index % every == 0) {
-                closure.setDelegate(next);
-                closure.setResolveStrategy(Closure.DELEGATE_FIRST);
-                closure.call(next);
+                callWithDelegateAndParameter(closure, next);
             }
             return next;
         }

Reply via email to