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) {