Fix NPE in synthetic finalization when no new lens is generated

Change-Id: I92ca0ca24326ccf92ad759b55b7f78e5d0a0fc8b
diff --git a/src/main/java/com/android/tools/r8/synthesis/SyntheticFinalization.java b/src/main/java/com/android/tools/r8/synthesis/SyntheticFinalization.java
index 46bb432..79097e5 100644
--- a/src/main/java/com/android/tools/r8/synthesis/SyntheticFinalization.java
+++ b/src/main/java/com/android/tools/r8/synthesis/SyntheticFinalization.java
@@ -257,9 +257,15 @@
 
     SyntheticFinalizationGraphLens syntheticFinalizationGraphLens = lensBuilder.build(appView);
 
-    ImmutableSet.Builder<DexType> finalInputSyntheticsBuilder = ImmutableSet.builder();
-    committed.forEachSyntheticInput(
-        type -> finalInputSyntheticsBuilder.add(syntheticFinalizationGraphLens.lookupType(type)));
+    ImmutableSet<DexType> finalInputSynthetics =
+        syntheticFinalizationGraphLens != null
+            ? SetUtils.newImmutableSet(
+                builder ->
+                    committed.forEachSyntheticInput(
+                        syntheticInputType ->
+                            builder.accept(
+                                syntheticFinalizationGraphLens.lookupType(syntheticInputType))))
+            : committed.syntheticInputs;
 
     // TODO(b/181858113): Remove once deprecated main-dex-list is removed.
     MainDexInfo.Builder mainDexInfoBuilder = appView.appInfo().getMainDexInfo().builderFromCopy();
@@ -270,10 +276,7 @@
             SyntheticItems.INVALID_ID_AFTER_SYNTHETIC_FINALIZATION,
             application,
             new CommittedSyntheticsCollection(
-                committed.getLegacyTypes(),
-                finalMethods,
-                finalClasses,
-                finalInputSyntheticsBuilder.build()),
+                committed.getLegacyTypes(), finalMethods, finalClasses, finalInputSynthetics),
             ImmutableList.of()),
         syntheticFinalizationGraphLens,
         PrunedItems.builder().setPrunedApp(application).addRemovedClasses(prunedSynthetics).build(),
diff --git a/src/main/java/com/android/tools/r8/utils/SetUtils.java b/src/main/java/com/android/tools/r8/utils/SetUtils.java
index a278196..98ea2c4 100644
--- a/src/main/java/com/android/tools/r8/utils/SetUtils.java
+++ b/src/main/java/com/android/tools/r8/utils/SetUtils.java
@@ -4,6 +4,7 @@
 
 package com.android.tools.r8.utils;
 
+import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Sets;
 import java.util.Collections;
 import java.util.IdentityHashMap;
@@ -55,6 +56,12 @@
     return result;
   }
 
+  public static <T> ImmutableSet<T> newImmutableSet(ForEachable<T> forEachable) {
+    ImmutableSet.Builder<T> builder = ImmutableSet.builder();
+    forEachable.forEach(builder::add);
+    return builder.build();
+  }
+
   public static <T, S> Set<T> mapIdentityHashSet(Set<S> set, Function<S, T> fn) {
     Set<T> out = newIdentityHashSet(set.size());
     for (S element : set) {