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 2022/07/03 13:33:18 UTC

[groovy] branch master updated: GROOVY-10473: add `Stream` `getAt(EmptyRange)` extension

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 dad28d7bdd GROOVY-10473: add `Stream` `getAt(EmptyRange)` extension
dad28d7bdd is described below

commit dad28d7bddb820ef1fe4269e0a54e1a288a5fc70
Author: Paul King <pa...@asert.com.au>
AuthorDate: Sun Jul 3 23:33:09 2022 +1000

    GROOVY-10473: add `Stream` `getAt(EmptyRange)` extension
---
 .../org/codehaus/groovy/runtime/StreamGroovyMethods.java | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/src/main/java/org/codehaus/groovy/runtime/StreamGroovyMethods.java b/src/main/java/org/codehaus/groovy/runtime/StreamGroovyMethods.java
index ca1ff8db5b..aadd324ea5 100644
--- a/src/main/java/org/codehaus/groovy/runtime/StreamGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/runtime/StreamGroovyMethods.java
@@ -22,6 +22,7 @@ import groovy.lang.EmptyRange;
 import groovy.lang.IntRange;
 
 import java.lang.reflect.Array;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Enumeration;
@@ -124,6 +125,21 @@ public class StreamGroovyMethods {
         return self.skip(range.getFromInt()).limit(range.size()).collect(Collectors.toList());
     }
 
+    /**
+     * Returns an empty list.
+     * <p>
+     * <pre class="groovyTestCase">
+     * import java.util.stream.Stream
+     * Stream<String> stream = ['foo','bar','baz'].stream()
+     * assert stream[1..<1].isEmpty()
+     * </pre>
+     *
+     * @since 5.0.0
+     */
+    public static <T> List<T> getAt(final Stream<T> self, final EmptyRange range) {
+        return new ArrayList<>();
+    }
+
     /**
      * Returns a (possibly empty) stream.
      * <p>