Relax assertions regarding mapping file until we have additional support

The support being a way to represent changes to protos and classes

Bug: 122924648
Change-Id: Icf929159d20862dc67a527a64741a4c461b7e2b5
diff --git a/src/main/java/com/android/tools/r8/naming/MethodNamingState.java b/src/main/java/com/android/tools/r8/naming/MethodNamingState.java
index 2b78da9..e758dfc 100644
--- a/src/main/java/com/android/tools/r8/naming/MethodNamingState.java
+++ b/src/main/java/com/android/tools/r8/naming/MethodNamingState.java
@@ -6,8 +6,9 @@
 import com.android.tools.r8.graph.DexMethod;
 import com.android.tools.r8.graph.DexString;
 import com.android.tools.r8.naming.MethodNamingState.InternalNewNameState;
-import com.google.common.collect.BiMap;
-import com.google.common.collect.HashBiMap;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
 import java.util.Set;
 import java.util.function.BiPredicate;
 import java.util.function.Function;
@@ -69,8 +70,8 @@
   }
 
   boolean isAvailable(DexString candidate, DexMethod method) {
-    DexString usedBy = getUsedBy(candidate, method);
-    if (usedBy != null && usedBy.equals(method.name)) {
+    Set<DexString> usedBy = getUsedBy(candidate, method);
+    if (usedBy != null && usedBy.contains(method.name)) {
       return true;
     }
     boolean isReserved = reservationState.isReserved(candidate, method);
@@ -86,9 +87,9 @@
     return false;
   }
 
-  private DexString getUsedBy(DexString name, DexMethod method) {
+  private Set<DexString> getUsedBy(DexString name, DexMethod method) {
     InternalNewNameState internalState = getInternalState(method);
-    DexString nameUsedBy = null;
+    Set<DexString> nameUsedBy = null;
     if (internalState != null) {
       nameUsedBy = internalState.getUsedBy(name);
     }
@@ -122,7 +123,8 @@
   static class InternalNewNameState implements InternalNamingState {
 
     private final InternalNewNameState parentInternalState;
-    private BiMap<DexString, DexString> originalToRenamedNames = HashBiMap.create();
+    private Map<DexString, DexString> originalToRenamedNames = new HashMap<>();
+    private Map<DexString, Set<DexString>> usedBy = new HashMap<>();
 
     private static final int INITIAL_NAME_COUNT = 1;
     private static final int INITIAL_DICTIONARY_INDEX = 0;
@@ -151,8 +153,8 @@
       return dictionaryIndex++;
     }
 
-    DexString getUsedBy(DexString name) {
-      return originalToRenamedNames.inverse().get(name);
+    Set<DexString> getUsedBy(DexString name) {
+      return usedBy.get(name);
     }
 
     DexString getAssignedName(DexString originalName) {
@@ -161,6 +163,7 @@
 
     void addRenaming(DexString newName, DexMethod method) {
       originalToRenamedNames.put(method.name, newName);
+      usedBy.computeIfAbsent(newName, ignore -> new HashSet<>()).add(method.name);
     }
 
     private boolean checkParentPublicNameCountIsLessThanOrEqual() {
diff --git a/src/main/java/com/android/tools/r8/naming/ProguardMapMinifier.java b/src/main/java/com/android/tools/r8/naming/ProguardMapMinifier.java
index e25d81e..37e5f39 100644
--- a/src/main/java/com/android/tools/r8/naming/ProguardMapMinifier.java
+++ b/src/main/java/com/android/tools/r8/naming/ProguardMapMinifier.java
@@ -478,7 +478,8 @@
               source.toSourceString(),
               name.toString(),
               memberNaming == null ? Position.UNKNOWN : memberNaming.position);
-      reporter.error(applyMappingError);
+      // TODO(b/136694827) Enable when we have proper support
+      // reporter.error(applyMappingError);
     }
   }
 }
diff --git a/src/main/java/com/android/tools/r8/naming/SeedMapper.java b/src/main/java/com/android/tools/r8/naming/SeedMapper.java
index 8d0ece57..d7f36da 100644
--- a/src/main/java/com/android/tools/r8/naming/SeedMapper.java
+++ b/src/main/java/com/android/tools/r8/naming/SeedMapper.java
@@ -107,20 +107,21 @@
                 descriptorToInternalName(classNaming.renamedName),
                 classNaming.position));
       }
-      Map<Signature, MemberNaming> seenMembers = new HashMap<>();
-      classNaming.forAllMemberNaming(
-          memberNaming -> {
-            MemberNaming existingMember =
-                seenMembers.put(memberNaming.renamedSignature, memberNaming);
-            if (existingMember != null) {
-              reporter.error(
-                  ProguardMapError.duplicateTargetSignature(
-                      existingMember.signature,
-                      memberNaming.signature,
-                      memberNaming.getRenamedName(),
-                      memberNaming.position));
-            }
-          });
+      // TODO(b/136694827) Enable when we have proper support
+      // Map<Signature, MemberNaming> seenMembers = new HashMap<>();
+      // classNaming.forAllMemberNaming(
+      //     memberNaming -> {
+      //       MemberNaming existingMember =
+      //           seenMembers.put(memberNaming.renamedSignature, memberNaming);
+      //       if (existingMember != null) {
+      //         reporter.error(
+      //             ProguardMapError.duplicateTargetSignature(
+      //                 existingMember.signature,
+      //                 memberNaming.signature,
+      //                 memberNaming.getRenamedName(),
+      //                 memberNaming.position));
+      //       }
+      //     });
     }
     reporter.failIfPendingErrors();
   }