Build complete set of context-dependent methods in nest lens.
Change-Id: Iaf8dc4dc7a9bce25b956b365ffe5af5be9a4ef5e
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/NestedPrivateMethodLense.java b/src/main/java/com/android/tools/r8/ir/desugar/NestedPrivateMethodLense.java
index ded1538..a6118a8 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/NestedPrivateMethodLense.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/NestedPrivateMethodLense.java
@@ -13,8 +13,10 @@
import com.android.tools.r8.graph.RewrittenPrototypeDescription;
import com.android.tools.r8.ir.code.Invoke;
import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
import java.util.IdentityHashMap;
import java.util.Map;
+import java.util.Set;
public class NestedPrivateMethodLense extends NestedGraphLense {
@@ -107,6 +109,19 @@
}
@Override
+ public Set<DexMethod> lookupMethodInAllContexts(DexMethod method) {
+ Set<DexMethod> result = Sets.newIdentityHashSet();
+ for (DexMethod previous : previousLense.lookupMethodInAllContexts(method)) {
+ result.add(previous);
+ DexMethod bridge = methodMap.get(previous);
+ if (bridge != null) {
+ result.add(bridge);
+ }
+ }
+ return result;
+ }
+
+ @Override
public GraphLenseLookupResult lookupMethod(
DexMethod method, DexMethod context, Invoke.Type type) {
assert originalMethodSignatures == null;