Remove unneeded method verifyIsBridgeMethod()
Bug: 154263781
Change-Id: Ib406c09dab5215df37c2c116d03d8a2c919584b8
diff --git a/src/main/java/com/android/tools/r8/graph/GraphLense.java b/src/main/java/com/android/tools/r8/graph/GraphLense.java
index 22aa578..0bcbc76 100644
--- a/src/main/java/com/android/tools/r8/graph/GraphLense.java
+++ b/src/main/java/com/android/tools/r8/graph/GraphLense.java
@@ -14,10 +14,7 @@
import com.google.common.collect.Sets;
import it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap;
import it.unimi.dsi.fastutil.objects.Object2BooleanMap;
-import java.util.ArrayDeque;
import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Deque;
import java.util.IdentityHashMap;
import java.util.List;
import java.util.Map;
@@ -386,51 +383,13 @@
continue;
}
DexMethod originalMethod = getOriginalMethodSignature(method.method);
- assert originalMethods.contains(originalMethod)
- || verifyIsBridgeMethod(
- originalMethod, originalApplication, originalMethods, dexItemFactory)
- : "Unable to map method `"
- + originalMethod.toSourceString()
- + "` back to original program";
+ assert originalMethods.contains(originalMethod);
}
}
return true;
}
- // Check if `method` is a bridge method for a method that is in the original application.
- // This is needed because member rebinding synthesizes bridge methods for visibility.
- private static boolean verifyIsBridgeMethod(
- DexMethod method,
- DexApplication originalApplication,
- Set<DexMethod> originalMethods,
- DexItemFactory dexItemFactory) {
- Deque<DexType> worklist = new ArrayDeque<>();
- Set<DexType> visited = Sets.newIdentityHashSet();
- worklist.add(method.holder);
- while (!worklist.isEmpty()) {
- DexType holder = worklist.removeFirst();
- if (!visited.add(holder)) {
- // Already visited previously.
- continue;
- }
- DexMethod targetMethod = dexItemFactory.createMethod(holder, method.proto, method.name);
- if (originalMethods.contains(targetMethod)) {
- return true;
- }
- // Stop traversing upwards if we reach the Object.
- if (holder == dexItemFactory.objectType) {
- continue;
- }
- DexClass clazz = originalApplication.definitionFor(holder);
- if (clazz != null) {
- worklist.add(clazz.superType);
- Collections.addAll(worklist, clazz.interfaces.values);
- }
- }
- return false;
- }
-
private static class IdentityGraphLense extends GraphLense {
private static IdentityGraphLense INSTANCE = new IdentityGraphLense();