Remove instances of stream to iterable

Fixes: b/270415578
Change-Id: Ic3f98763b0c5855b8e18cd98f90bac3efdddae47
diff --git a/d8_r8/main/build.gradle.kts b/d8_r8/main/build.gradle.kts
index 207f87e..73cf9ee 100644
--- a/d8_r8/main/build.gradle.kts
+++ b/d8_r8/main/build.gradle.kts
@@ -164,7 +164,6 @@
   options.errorprone.disable("ImmutableEnumChecker")
   options.errorprone.disable("BadImport")
   options.errorprone.disable("ComplexBooleanConstant")
-  options.errorprone.disable("StreamToIterable")
   options.errorprone.disable("HidingField")
   options.errorprone.disable("StreamResourceLeak")
   options.errorprone.disable("CatchAndPrintStackTrace")
diff --git a/src/main/java/com/android/tools/r8/shaking/ProguardClassNameList.java b/src/main/java/com/android/tools/r8/shaking/ProguardClassNameList.java
index 5f5ad5f..deacfd7 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardClassNameList.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardClassNameList.java
@@ -5,6 +5,7 @@
 
 import com.android.tools.r8.graph.DexItemFactory;
 import com.android.tools.r8.graph.DexType;
+import com.android.tools.r8.utils.IterableUtils;
 import com.android.tools.r8.utils.TraversalContinuation;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
@@ -19,7 +20,6 @@
 import java.util.function.Function;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
-import java.util.stream.StreamSupport;
 
 public abstract class ProguardClassNameList {
 
@@ -300,10 +300,7 @@
 
     @Override
     protected Iterable<ProguardWildcard> getWildcards() {
-      return classNames.stream()
-          .map(ProguardTypeMatcher::getWildcards)
-          .flatMap(it -> StreamSupport.stream(it.spliterator(), false))
-          ::iterator;
+      return IterableUtils.flatMap(classNames, ProguardTypeMatcher::getWildcards);
     }
 
     @Override
@@ -396,10 +393,7 @@
 
     @Override
     protected Iterable<ProguardWildcard> getWildcards() {
-      return classNames.keySet().stream()
-          .map(ProguardTypeMatcher::getWildcards)
-          .flatMap(it -> StreamSupport.stream(it.spliterator(), false))
-          ::iterator;
+      return IterableUtils.flatMap(classNames.keySet(), ProguardTypeMatcher::getWildcards);
     }
 
     @Override
diff --git a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationRule.java b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationRule.java
index b80edf0..a0af134 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationRule.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationRule.java
@@ -15,13 +15,13 @@
 import com.android.tools.r8.graph.SubtypingInfo;
 import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.position.Position;
+import com.android.tools.r8.utils.IterableUtils;
 import com.android.tools.r8.utils.StringUtils;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
-import java.util.stream.StreamSupport;
 
 public abstract class ProguardConfigurationRule extends ProguardClassSpecification {
 
@@ -195,12 +195,9 @@
         ProguardClassNameList.getWildcardsOrEmpty(getClassNames()),
         ProguardTypeMatcher.getWildcardsOrEmpty(getInheritanceAnnotations()),
         ProguardTypeMatcher.getWildcardsOrEmpty(getInheritanceClassName()),
-        memberRules != null
-            ? memberRules.stream()
-                    .map(ProguardMemberRule::getWildcards)
-                    .flatMap(it -> StreamSupport.stream(it.spliterator(), false))
-                ::iterator
-            : Collections::emptyIterator);
+        memberRules == null
+            ? Collections::emptyIterator
+            : IterableUtils.flatMap(memberRules, ProguardMemberRule::getWildcards));
   }
 
   @Override
diff --git a/src/main/java/com/android/tools/r8/shaking/ProguardMemberRule.java b/src/main/java/com/android/tools/r8/shaking/ProguardMemberRule.java
index 562f6b0..0720337 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardMemberRule.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardMemberRule.java
@@ -13,13 +13,13 @@
 import com.android.tools.r8.graph.DexType;
 import com.android.tools.r8.shaking.ProguardConfigurationParser.IdentifierPatternWithWildcards;
 import com.android.tools.r8.shaking.RootSetUtils.RootSetBuilder;
+import com.android.tools.r8.utils.IterableUtils;
 import com.android.tools.r8.utils.StringUtils;
 import com.google.common.collect.Iterables;
 import java.util.Collections;
 import java.util.List;
 import java.util.function.Consumer;
 import java.util.stream.Collectors;
-import java.util.stream.StreamSupport;
 
 public class ProguardMemberRule {
 
@@ -327,12 +327,9 @@
         ProguardTypeMatcher.getWildcardsOrEmpty(annotations),
         ProguardTypeMatcher.getWildcardsOrEmpty(type),
         ProguardNameMatcher.getWildcardsOrEmpty(name),
-        arguments != null
-            ? arguments.stream()
-                    .map(ProguardTypeMatcher::getWildcards)
-                    .flatMap(it -> StreamSupport.stream(it.spliterator(), false))
-                ::iterator
-            : Collections::emptyIterator);
+        arguments == null
+            ? Collections::emptyIterator
+            : IterableUtils.flatMap(arguments, ProguardTypeMatcher::getWildcards));
   }
 
   ProguardMemberRule materialize(DexItemFactory dexItemFactory) {