Fix inconsistent overload in TypeLatticeElement

Bug: 72693244
Change-Id: Id22a4e66903125063218434158c6126029bd5157
diff --git a/src/main/java/com/android/tools/r8/ir/analysis/type/TypeLatticeElement.java b/src/main/java/com/android/tools/r8/ir/analysis/type/TypeLatticeElement.java
index e0a5707..b63dbb2 100644
--- a/src/main/java/com/android/tools/r8/ir/analysis/type/TypeLatticeElement.java
+++ b/src/main/java/com/android/tools/r8/ir/analysis/type/TypeLatticeElement.java
@@ -11,6 +11,7 @@
 import com.android.tools.r8.ir.code.MemberType;
 import com.android.tools.r8.ir.code.Value;
 import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Streams;
 import java.util.ArrayDeque;
 import java.util.HashSet;
 import java.util.IdentityHashMap;
@@ -264,9 +265,9 @@
     return types.reduce(BottomTypeLatticeElement.getInstance(), joiner, joiner);
   }
 
-  public static TypeLatticeElement join(
-      Stream<DexType> types, boolean isNullable, AppInfo appInfo) {
-    return join(types.map(t -> fromDexType(t, isNullable, appInfo)), appInfo);
+  public static TypeLatticeElement joinTypes(
+      Iterable<DexType> types, boolean isNullable, AppInfo appInfo) {
+    return join(Streams.stream(types).map(t -> fromDexType(t, isNullable, appInfo)), appInfo);
   }
 
   /**
diff --git a/src/main/java/com/android/tools/r8/ir/code/MoveException.java b/src/main/java/com/android/tools/r8/ir/code/MoveException.java
index 15ab6b0..8166f6e 100644
--- a/src/main/java/com/android/tools/r8/ir/code/MoveException.java
+++ b/src/main/java/com/android/tools/r8/ir/code/MoveException.java
@@ -122,6 +122,6 @@
   @Override
   public TypeLatticeElement evaluate(AppInfo appInfo) {
     Set<DexType> exceptionTypes = collectExceptionTypes(getBlock(), appInfo.dexItemFactory);
-    return TypeLatticeElement.join(exceptionTypes.stream(), false, appInfo);
+    return TypeLatticeElement.joinTypes(exceptionTypes, false, appInfo);
   }
 }
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/IRBuilder.java b/src/main/java/com/android/tools/r8/ir/conversion/IRBuilder.java
index a643947..1853e8b 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/IRBuilder.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/IRBuilder.java
@@ -680,8 +680,7 @@
     Position position = source.getCanonicalDebugPositionAtOffset(moveExceptionItem.targetOffset);
     if (moveExceptionDest >= 0) {
       Set<DexType> exceptionTypes = MoveException.collectExceptionTypes(currentBlock, getFactory());
-      TypeLatticeElement typeLattice =
-          TypeLatticeElement.join(exceptionTypes.stream(), false, appInfo);
+      TypeLatticeElement typeLattice = TypeLatticeElement.joinTypes(exceptionTypes, false, appInfo);
       Value out = writeRegister(moveExceptionDest, typeLattice, ThrowingInfo.NO_THROW, null);
       MoveException moveException = new MoveException(out);
       moveException.setPosition(position);