From e2fdc704aebf7fdb294d1c3d00e9d87e975bde9a Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Wed, 2 Nov 2016 22:49:37 +0300 Subject: [PATCH] introduce processEach(), consumeEach() --- .../intellij/util/containers/JBIterable.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/platform/util/src/com/intellij/util/containers/JBIterable.java b/platform/util/src/com/intellij/util/containers/JBIterable.java index adca5b005683..d772bb48f305 100644 --- a/platform/util/src/com/intellij/util/containers/JBIterable.java +++ b/platform/util/src/com/intellij/util/containers/JBIterable.java @@ -20,9 +20,7 @@ import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.Conditions; import com.intellij.openapi.util.Ref; -import com.intellij.util.Function; -import com.intellij.util.Functions; -import com.intellij.util.PairFunction; +import com.intellij.util.*; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -195,6 +193,16 @@ public abstract class JBIterable implements Iterable { return (T) iterator(); } + public boolean processEach(@NotNull Processor processor) { + return ContainerUtil.process(this, processor); + } + + public void consumeEach(@NotNull Consumer consumer) { + for (E e : this) { + consumer.consume(e); + } + } + /** * Returns a string representation of this iterable up to 50 elements, with the format * {@code (e1, e2, ..., en [, ...] )} for debugging purposes. @@ -667,9 +675,7 @@ public abstract class JBIterable implements Iterable { @NotNull static T copy(@NotNull T o) { - if (!(o instanceof Stateful)) { - return o; - } + if (!(o instanceof Stateful)) return o; return (T)((Stateful)o).clone(); }