Fix lens rewriting of synthetic inputs

Change-Id: I35217adaff35472ed6f4ca9cc8d927377ad101cf
diff --git a/src/main/java/com/android/tools/r8/synthesis/CommittedItems.java b/src/main/java/com/android/tools/r8/synthesis/CommittedItems.java
index adc1298..f71c94e 100644
--- a/src/main/java/com/android/tools/r8/synthesis/CommittedItems.java
+++ b/src/main/java/com/android/tools/r8/synthesis/CommittedItems.java
@@ -38,7 +38,7 @@
     this.application = application;
     this.committed = committed;
     this.committedProgramTypes = committedProgramTypes;
-    committed.verifyTypesAreInApp(application);
+    assert committed.verifyTypesAreInApp(application);
   }
 
   // Conversion to a mutable synthetic items collection. Should only be used in AppInfo creation.
diff --git a/src/main/java/com/android/tools/r8/synthesis/CommittedSyntheticsCollection.java b/src/main/java/com/android/tools/r8/synthesis/CommittedSyntheticsCollection.java
index f8c56fa..cd80b53 100644
--- a/src/main/java/com/android/tools/r8/synthesis/CommittedSyntheticsCollection.java
+++ b/src/main/java/com/android/tools/r8/synthesis/CommittedSyntheticsCollection.java
@@ -298,23 +298,18 @@
   }
 
   CommittedSyntheticsCollection rewriteWithLens(NonIdentityGraphLens lens) {
+    ImmutableSet.Builder<DexType> syntheticInputsBuilder = ImmutableSet.builder();
     return new CommittedSyntheticsCollection(
-        rewriteItems(legacyTypes, lens),
-        rewriteItems(nonLegacyMethods, lens),
-        rewriteItems(nonLegacyClasses, lens),
-        rewriteItems(syntheticInputs, lens));
-  }
-
-  private static ImmutableSet<DexType> rewriteItems(Set<DexType> items, NonIdentityGraphLens lens) {
-    ImmutableSet.Builder<DexType> rewrittenItems = ImmutableSet.builder();
-    for (DexType item : items) {
-      rewrittenItems.add(lens.lookupType(item));
-    }
-    return rewrittenItems.build();
+        rewriteItems(legacyTypes, lens, syntheticInputsBuilder),
+        rewriteItems(nonLegacyMethods, lens, syntheticInputsBuilder),
+        rewriteItems(nonLegacyClasses, lens, syntheticInputsBuilder),
+        syntheticInputsBuilder.build());
   }
 
   private <R extends Rewritable<R>> ImmutableMap<DexType, List<R>> rewriteItems(
-      Map<DexType, List<R>> items, NonIdentityGraphLens lens) {
+      Map<DexType, List<R>> items,
+      NonIdentityGraphLens lens,
+      ImmutableSet.Builder<DexType> syntheticInputsBuilder) {
     Map<DexType, List<R>> rewrittenItems = new IdentityHashMap<>();
     for (R reference : IterableUtils.flatten(items.values())) {
       R rewritten = reference.rewrite(lens);
@@ -322,6 +317,9 @@
         rewrittenItems
             .computeIfAbsent(rewritten.getHolder(), ignore -> new ArrayList<>())
             .add(rewritten);
+        if (syntheticInputs.contains(reference.getHolder())) {
+          syntheticInputsBuilder.add(rewritten.getHolder());
+        }
       }
     }
     return ImmutableMap.copyOf(rewrittenItems);