Rename GraphLensLookupResult to MethodLookupResult

Change-Id: I26f61c9cb0f5c2c6100afd77cf9a1267c22cb948
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfInvoke.java b/src/main/java/com/android/tools/r8/cf/code/CfInvoke.java
index 639e663..4256db3 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfInvoke.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfInvoke.java
@@ -18,7 +18,7 @@
 import com.android.tools.r8.graph.DexProto;
 import com.android.tools.r8.graph.DexType;
 import com.android.tools.r8.graph.GraphLens;
-import com.android.tools.r8.graph.GraphLens.GraphLensLookupResult;
+import com.android.tools.r8.graph.GraphLens.MethodLookupResult;
 import com.android.tools.r8.graph.InitClassLens;
 import com.android.tools.r8.graph.ProgramMethod;
 import com.android.tools.r8.graph.UseRegistry;
@@ -95,9 +95,9 @@
       NamingLens namingLens,
       LensCodeRewriterUtils rewriter,
       MethodVisitor visitor) {
-    GraphLensLookupResult lookup =
+    MethodLookupResult lookup =
         graphLens.lookupMethod(method, context.getReference(), getInvokeType(context));
-    DexMethod rewrittenMethod = lookup.getMethod();
+    DexMethod rewrittenMethod = lookup.getReference();
     String owner = namingLens.lookupInternalName(rewrittenMethod.holder);
     String name = namingLens.lookupName(rewrittenMethod).toString();
     String desc = rewrittenMethod.proto.toDescriptorString(namingLens);
@@ -286,8 +286,8 @@
       case Opcodes.INVOKESTATIC:
         {
           // Static invokes may have changed as a result of horizontal class merging.
-          GraphLensLookupResult lookup = graphLens.lookupMethod(target, null, Type.STATIC);
-          target = lookup.getMethod();
+          MethodLookupResult lookup = graphLens.lookupMethod(target, null, Type.STATIC);
+          target = lookup.getReference();
           type = lookup.getType();
         }
         break;
@@ -305,8 +305,8 @@
           }
 
           // Virtual invokes may have changed to interface invokes as a result of member rebinding.
-          GraphLensLookupResult lookup = graphLens.lookupMethod(target, null, type);
-          target = lookup.getMethod();
+          MethodLookupResult lookup = graphLens.lookupMethod(target, null, type);
+          target = lookup.getReference();
           type = lookup.getType();
         }
         break;
@@ -374,9 +374,8 @@
   }
 
   private DexEncodedMethod lookupMethodOnHolder(AppView<?> appView, DexMethod method) {
-    GraphLensLookupResult lookupResult =
-        appView.graphLens().lookupMethod(method, method, Type.DIRECT);
-    DexMethod rewrittenMethod = lookupResult.getMethod();
+    MethodLookupResult lookupResult = appView.graphLens().lookupMethod(method, method, Type.DIRECT);
+    DexMethod rewrittenMethod = lookupResult.getReference();
     // Directly lookup the program type for holder. This bypasses lookup order as well as looks
     // directly on the application data, which bypasses and indirection or validation.
     DexProgramClass clazz = appView.appInfo().unsafeDirectProgramTypeLookup(rewrittenMethod.holder);
diff --git a/src/main/java/com/android/tools/r8/code/Format45cc.java b/src/main/java/com/android/tools/r8/code/Format45cc.java
index 6a89d36..aa62780 100644
--- a/src/main/java/com/android/tools/r8/code/Format45cc.java
+++ b/src/main/java/com/android/tools/r8/code/Format45cc.java
@@ -9,7 +9,7 @@
 import com.android.tools.r8.graph.DexMethod;
 import com.android.tools.r8.graph.DexProto;
 import com.android.tools.r8.graph.GraphLens;
-import com.android.tools.r8.graph.GraphLens.GraphLensLookupResult;
+import com.android.tools.r8.graph.GraphLens.MethodLookupResult;
 import com.android.tools.r8.graph.IndexedDexItem;
 import com.android.tools.r8.graph.ObjectToOffsetMapping;
 import com.android.tools.r8.graph.ProgramMethod;
@@ -100,10 +100,10 @@
       ProgramMethod context,
       GraphLens graphLens,
       LensCodeRewriterUtils rewriter) {
-    GraphLensLookupResult lookup =
+    MethodLookupResult lookup =
         graphLens.lookupMethod(getMethod(), context.getReference(), Type.POLYMORPHIC);
     assert lookup.getType() == Type.POLYMORPHIC;
-    lookup.getMethod().collectIndexedItems(indexedItems);
+    lookup.getReference().collectIndexedItems(indexedItems);
 
     DexProto rewrittenProto = rewriter.rewriteProto(getProto());
     rewrittenProto.collectIndexedItems(indexedItems);
@@ -116,11 +116,11 @@
       GraphLens graphLens,
       ObjectToOffsetMapping mapping,
       LensCodeRewriterUtils rewriter) {
-    GraphLensLookupResult lookup =
+    MethodLookupResult lookup =
         graphLens.lookupMethod(getMethod(), context.getReference(), Type.POLYMORPHIC);
     assert lookup.getType() == Type.POLYMORPHIC;
     writeFirst(A, G, dest);
-    write16BitReference(lookup.getMethod(), dest, mapping);
+    write16BitReference(lookup.getReference(), dest, mapping);
     write16BitValue(combineBytes(makeByte(F, E), makeByte(D, C)), dest);
 
     DexProto rewrittenProto = rewriter.rewriteProto(getProto());
diff --git a/src/main/java/com/android/tools/r8/code/Format4rcc.java b/src/main/java/com/android/tools/r8/code/Format4rcc.java
index 30cce33..690b230 100644
--- a/src/main/java/com/android/tools/r8/code/Format4rcc.java
+++ b/src/main/java/com/android/tools/r8/code/Format4rcc.java
@@ -8,7 +8,7 @@
 import com.android.tools.r8.graph.DexMethod;
 import com.android.tools.r8.graph.DexProto;
 import com.android.tools.r8.graph.GraphLens;
-import com.android.tools.r8.graph.GraphLens.GraphLensLookupResult;
+import com.android.tools.r8.graph.GraphLens.MethodLookupResult;
 import com.android.tools.r8.graph.IndexedDexItem;
 import com.android.tools.r8.graph.ObjectToOffsetMapping;
 import com.android.tools.r8.graph.ProgramMethod;
@@ -52,11 +52,11 @@
       GraphLens graphLens,
       ObjectToOffsetMapping mapping,
       LensCodeRewriterUtils rewriter) {
-    GraphLensLookupResult lookup =
+    MethodLookupResult lookup =
         graphLens.lookupMethod(getMethod(), context.getReference(), Type.POLYMORPHIC);
     assert lookup.getType() == Type.POLYMORPHIC;
     writeFirst(AA, dest);
-    write16BitReference(lookup.getMethod(), dest, mapping);
+    write16BitReference(lookup.getReference(), dest, mapping);
     write16BitValue(CCCC, dest);
 
     DexProto rewrittenProto = rewriter.rewriteProto(getProto());
@@ -114,10 +114,10 @@
       ProgramMethod context,
       GraphLens graphLens,
       LensCodeRewriterUtils rewriter) {
-    GraphLensLookupResult lookup =
+    MethodLookupResult lookup =
         graphLens.lookupMethod(getMethod(), context.getReference(), Type.POLYMORPHIC);
     assert lookup.getType() == Type.POLYMORPHIC;
-    lookup.getMethod().collectIndexedItems(indexedItems);
+    lookup.getReference().collectIndexedItems(indexedItems);
 
     DexProto rewrittenProto = rewriter.rewriteProto(getProto());
     rewrittenProto.collectIndexedItems(indexedItems);
diff --git a/src/main/java/com/android/tools/r8/code/InvokeMethod.java b/src/main/java/com/android/tools/r8/code/InvokeMethod.java
index 965a078..de46296 100644
--- a/src/main/java/com/android/tools/r8/code/InvokeMethod.java
+++ b/src/main/java/com/android/tools/r8/code/InvokeMethod.java
@@ -6,7 +6,7 @@
 import com.android.tools.r8.dex.IndexedItemCollection;
 import com.android.tools.r8.graph.DexMethod;
 import com.android.tools.r8.graph.GraphLens;
-import com.android.tools.r8.graph.GraphLens.GraphLensLookupResult;
+import com.android.tools.r8.graph.GraphLens.MethodLookupResult;
 import com.android.tools.r8.graph.ObjectToOffsetMapping;
 import com.android.tools.r8.graph.ProgramMethod;
 import com.android.tools.r8.ir.code.Invoke;
@@ -30,7 +30,7 @@
       GraphLens graphLens,
       LensCodeRewriterUtils rewriter) {
     DexMethod rewritten =
-        graphLens.lookupMethod(getMethod(), context.getReference(), getInvokeType()).getMethod();
+        graphLens.lookupMethod(getMethod(), context.getReference(), getInvokeType()).getReference();
     rewritten.collectIndexedItems(indexedItems);
   }
 
@@ -53,10 +53,10 @@
       GraphLens graphLens,
       ObjectToOffsetMapping mapping,
       LensCodeRewriterUtils rewriter) {
-    GraphLensLookupResult lookup =
+    MethodLookupResult lookup =
         graphLens.lookupMethod(getMethod(), context.getReference(), getInvokeType());
     writeFirst(A, G, dest, lookup.getType().getDexOpcode());
-    write16BitReference(lookup.getMethod(), dest, mapping);
+    write16BitReference(lookup.getReference(), dest, mapping);
     write16BitValue(combineBytes(makeByte(F, E), makeByte(D, C)), dest);
   }
 }
diff --git a/src/main/java/com/android/tools/r8/code/InvokeMethodRange.java b/src/main/java/com/android/tools/r8/code/InvokeMethodRange.java
index 81bb5a2..102d793 100644
--- a/src/main/java/com/android/tools/r8/code/InvokeMethodRange.java
+++ b/src/main/java/com/android/tools/r8/code/InvokeMethodRange.java
@@ -6,7 +6,7 @@
 import com.android.tools.r8.dex.IndexedItemCollection;
 import com.android.tools.r8.graph.DexMethod;
 import com.android.tools.r8.graph.GraphLens;
-import com.android.tools.r8.graph.GraphLens.GraphLensLookupResult;
+import com.android.tools.r8.graph.GraphLens.MethodLookupResult;
 import com.android.tools.r8.graph.ObjectToOffsetMapping;
 import com.android.tools.r8.graph.ProgramMethod;
 import com.android.tools.r8.ir.code.Invoke.Type;
@@ -30,7 +30,7 @@
       GraphLens graphLens,
       LensCodeRewriterUtils rewriter) {
     DexMethod rewritten =
-        graphLens.lookupMethod(getMethod(), context.getReference(), getInvokeType()).getMethod();
+        graphLens.lookupMethod(getMethod(), context.getReference(), getInvokeType()).getReference();
     rewritten.collectIndexedItems(indexedItems);
   }
 
@@ -53,10 +53,10 @@
       GraphLens graphLens,
       ObjectToOffsetMapping mapping,
       LensCodeRewriterUtils rewriter) {
-    GraphLensLookupResult lookup =
+    MethodLookupResult lookup =
         graphLens.lookupMethod(getMethod(), context.getReference(), getInvokeType());
     writeFirst(AA, dest, lookup.getType().getDexOpcodeRange());
-    write16BitReference(lookup.getMethod(), dest, mapping);
+    write16BitReference(lookup.getReference(), dest, mapping);
     write16BitValue(CCCC, dest);
   }
 }
diff --git a/src/main/java/com/android/tools/r8/graph/AppliedGraphLens.java b/src/main/java/com/android/tools/r8/graph/AppliedGraphLens.java
index dac8f8b..f37ce58 100644
--- a/src/main/java/com/android/tools/r8/graph/AppliedGraphLens.java
+++ b/src/main/java/com/android/tools/r8/graph/AppliedGraphLens.java
@@ -143,7 +143,7 @@
   }
 
   @Override
-  public GraphLensLookupResult lookupMethod(DexMethod method, DexMethod context, Invoke.Type type) {
+  public MethodLookupResult lookupMethod(DexMethod method, DexMethod context, Invoke.Type type) {
     return GraphLens.getIdentityLens().lookupMethod(method, context, type);
   }
 
diff --git a/src/main/java/com/android/tools/r8/graph/GraphLens.java b/src/main/java/com/android/tools/r8/graph/GraphLens.java
index b459207..5f49c95 100644
--- a/src/main/java/com/android/tools/r8/graph/GraphLens.java
+++ b/src/main/java/com/android/tools/r8/graph/GraphLens.java
@@ -114,20 +114,20 @@
    * prototype changes that have been made to the target method and the corresponding required
    * changes to the invoke arguments.
    */
-  public static class GraphLensLookupResult {
+  public static class MethodLookupResult {
 
     private final DexMethod method;
     private final Type type;
     private final RewrittenPrototypeDescription prototypeChanges;
 
-    public GraphLensLookupResult(
+    public MethodLookupResult(
         DexMethod method, Type type, RewrittenPrototypeDescription prototypeChanges) {
       this.method = method;
       this.type = type;
       this.prototypeChanges = prototypeChanges;
     }
 
-    public DexMethod getMethod() {
+    public DexMethod getReference() {
       return method;
     }
 
@@ -270,11 +270,10 @@
   // This overload can be used when the graph lens is known to be context insensitive.
   public DexMethod lookupMethod(DexMethod method) {
     assert verifyIsContextFreeForMethod(method);
-    return lookupMethod(method, null, null).getMethod();
+    return lookupMethod(method, null, null).getReference();
   }
 
-  public abstract GraphLensLookupResult lookupMethod(
-      DexMethod method, DexMethod context, Type type);
+  public abstract MethodLookupResult lookupMethod(DexMethod method, DexMethod context, Type type);
 
   public abstract RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(
       DexMethod method);
@@ -646,8 +645,8 @@
     }
 
     @Override
-    public GraphLensLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
-      return new GraphLensLookupResult(method, type, RewrittenPrototypeDescription.none());
+    public MethodLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
+      return new MethodLookupResult(method, type, RewrittenPrototypeDescription.none());
     }
 
     @Override
@@ -717,7 +716,7 @@
     }
 
     @Override
-    public GraphLensLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
+    public MethodLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
       return getIdentityLens().lookupMethod(method, context, type);
     }
 
@@ -840,22 +839,20 @@
     }
 
     @Override
-    public GraphLensLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
+    public MethodLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
       DexMethod previousContext = internalGetPreviousMethodSignature(context);
-      GraphLensLookupResult previousLookup =
-          getPrevious().lookupMethod(method, previousContext, type);
+      MethodLookupResult previousLookup = getPrevious().lookupMethod(method, previousContext, type);
       return lookupMethod(method, previousLookup);
     }
 
-    protected GraphLensLookupResult lookupMethod(
-        DexMethod method, GraphLensLookupResult previousLookup) {
-      DexMethod newMethod = methodMap.get(previousLookup.getMethod());
+    protected MethodLookupResult lookupMethod(DexMethod method, MethodLookupResult previousLookup) {
+      DexMethod newMethod = methodMap.get(previousLookup.getReference());
       if (newMethod == null) {
         return previousLookup;
       }
       // TODO(sgjesse): Should we always do interface to virtual mapping? Is it a performance win
       //  that only subclasses which are known to need it actually do it?
-      return new GraphLensLookupResult(
+      return new MethodLookupResult(
           newMethod,
           mapInvocationType(newMethod, method, previousLookup.getType()),
           internalDescribePrototypeChanges(previousLookup.getPrototypeChanges(), newMethod));
diff --git a/src/main/java/com/android/tools/r8/horizontalclassmerging/HorizontalClassMergerGraphLens.java b/src/main/java/com/android/tools/r8/horizontalclassmerging/HorizontalClassMergerGraphLens.java
index df0ba26..5cae0a2 100644
--- a/src/main/java/com/android/tools/r8/horizontalclassmerging/HorizontalClassMergerGraphLens.java
+++ b/src/main/java/com/android/tools/r8/horizontalclassmerging/HorizontalClassMergerGraphLens.java
@@ -68,20 +68,19 @@
    * constructor. Otherwise return the lookup on the underlying graph lens.
    */
   @Override
-  public GraphLensLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
+  public MethodLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
     DexMethod previousContext = internalGetPreviousMethodSignature(context);
-    GraphLensLookupResult previousLookup =
-        getPrevious().lookupMethod(method, previousContext, type);
-    List<ExtraParameter> extraParameters = methodExtraParameters.get(previousLookup.getMethod());
+    MethodLookupResult previousLookup = getPrevious().lookupMethod(method, previousContext, type);
+    List<ExtraParameter> extraParameters = methodExtraParameters.get(previousLookup.getReference());
 
-    GraphLensLookupResult lookup = super.lookupMethod(method, previousLookup);
+    MethodLookupResult lookup = super.lookupMethod(method, previousLookup);
     if (extraParameters != null) {
-      DexMethod newMethod = lookup.getMethod();
+      DexMethod newMethod = lookup.getReference();
 
       RewrittenPrototypeDescription prototypeChanges =
           lookup.getPrototypeChanges().withExtraParameters(extraParameters);
 
-      return new GraphLensLookupResult(
+      return new MethodLookupResult(
           newMethod, mapInvocationType(newMethod, method, lookup.getType()), prototypeChanges);
     } else {
       return lookup;
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/CallGraphBuilderBase.java b/src/main/java/com/android/tools/r8/ir/conversion/CallGraphBuilderBase.java
index f5a51c8..6756693 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/CallGraphBuilderBase.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/CallGraphBuilderBase.java
@@ -18,7 +18,7 @@
 import com.android.tools.r8.graph.DexType;
 import com.android.tools.r8.graph.FieldAccessInfo;
 import com.android.tools.r8.graph.FieldAccessInfoCollection;
-import com.android.tools.r8.graph.GraphLens.GraphLensLookupResult;
+import com.android.tools.r8.graph.GraphLens.MethodLookupResult;
 import com.android.tools.r8.graph.LookupResult;
 import com.android.tools.r8.graph.ProgramMethod;
 import com.android.tools.r8.graph.ResolutionResult;
@@ -166,9 +166,9 @@
 
     private void processInvoke(Invoke.Type originalType, DexMethod originalMethod) {
       ProgramMethod context = currentMethod.getProgramMethod();
-      GraphLensLookupResult result =
+      MethodLookupResult result =
           appView.graphLens().lookupMethod(originalMethod, context.getReference(), originalType);
-      DexMethod method = result.getMethod();
+      DexMethod method = result.getReference();
       Invoke.Type type = result.getType();
       if (type == Invoke.Type.INTERFACE || type == Invoke.Type.VIRTUAL) {
         // For virtual and interface calls add all potential targets that could be called.
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java b/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
index 576a376..8b827d3 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
@@ -42,7 +42,7 @@
 import com.android.tools.r8.graph.DexMethodHandle;
 import com.android.tools.r8.graph.DexType;
 import com.android.tools.r8.graph.GraphLens;
-import com.android.tools.r8.graph.GraphLens.GraphLensLookupResult;
+import com.android.tools.r8.graph.GraphLens.MethodLookupResult;
 import com.android.tools.r8.graph.ProgramMethod;
 import com.android.tools.r8.graph.RewrittenPrototypeDescription;
 import com.android.tools.r8.graph.RewrittenPrototypeDescription.ArgumentInfo;
@@ -214,9 +214,9 @@
               if (invoke.isInvokeDirect()) {
                 checkInvokeDirect(method.getReference(), invoke.asInvokeDirect());
               }
-              GraphLensLookupResult lensLookup =
+              MethodLookupResult lensLookup =
                   graphLens.lookupMethod(invokedMethod, method.getReference(), invoke.getType());
-              DexMethod actualTarget = lensLookup.getMethod();
+              DexMethod actualTarget = lensLookup.getReference();
               Invoke.Type actualInvokeType = lensLookup.getType();
               if (actualTarget != invokedMethod || invoke.getType() != actualInvokeType) {
                 RewrittenPrototypeDescription prototypeChanges = lensLookup.getPrototypeChanges();
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriterUtils.java b/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriterUtils.java
index 27b3064..4b44ada 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriterUtils.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriterUtils.java
@@ -23,7 +23,7 @@
 import com.android.tools.r8.graph.DexValue.DexValueMethodType;
 import com.android.tools.r8.graph.DexValue.DexValueType;
 import com.android.tools.r8.graph.GraphLens;
-import com.android.tools.r8.graph.GraphLens.GraphLensLookupResult;
+import com.android.tools.r8.graph.GraphLens.MethodLookupResult;
 import com.android.tools.r8.graph.ProgramMethod;
 import com.android.tools.r8.graph.UseRegistry.MethodHandleUse;
 import java.util.ArrayList;
@@ -73,9 +73,9 @@
     if (methodHandle.isMethodHandle()) {
       DexMethod invokedMethod = methodHandle.asMethod();
       MethodHandleType oldType = methodHandle.type;
-      GraphLensLookupResult lensLookup =
+      MethodLookupResult lensLookup =
           graphLens.lookupMethod(invokedMethod, context.getReference(), oldType.toInvokeType());
-      DexMethod rewrittenTarget = lensLookup.getMethod();
+      DexMethod rewrittenTarget = lensLookup.getReference();
       DexMethod actualTarget;
       MethodHandleType newType;
       if (use == ARGUMENT_TO_LAMBDA_METAFACTORY) {
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/NestBasedAccessDesugaring.java b/src/main/java/com/android/tools/r8/ir/desugar/NestBasedAccessDesugaring.java
index 8370326..89dc96c 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/NestBasedAccessDesugaring.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/NestBasedAccessDesugaring.java
@@ -87,7 +87,7 @@
   private DexEncodedMethod lookupOnHolder(
       DexMethod method, DexClassAndMethod context, Invoke.Type invokeType) {
     DexMethod rewritten =
-        appView.graphLens().lookupMethod(method, context.getReference(), invokeType).getMethod();
+        appView.graphLens().lookupMethod(method, context.getReference(), invokeType).getReference();
     return rewritten.lookupOnClass(appView.definitionForHolder(rewritten));
   }
 
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/NestedPrivateMethodLens.java b/src/main/java/com/android/tools/r8/ir/desugar/NestedPrivateMethodLens.java
index 848baa2..2dc813e 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/NestedPrivateMethodLens.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/NestedPrivateMethodLens.java
@@ -110,10 +110,10 @@
   }
 
   @Override
-  public GraphLensLookupResult lookupMethod(DexMethod method, DexMethod context, Invoke.Type type) {
+  public MethodLookupResult lookupMethod(DexMethod method, DexMethod context, Invoke.Type type) {
     assert originalMethodSignatures == null;
-    GraphLensLookupResult lookup = getPrevious().lookupMethod(method, context, type);
-    DexMethod bridge = methodMap.get(lookup.getMethod());
+    MethodLookupResult lookup = getPrevious().lookupMethod(method, context, type);
+    DexMethod bridge = methodMap.get(lookup.getReference());
     if (bridge == null) {
       return lookup;
     }
@@ -122,12 +122,12 @@
       return lookup;
     }
     if (isConstructorBridge(bridge)) {
-      return new GraphLensLookupResult(
+      return new MethodLookupResult(
           bridge,
           Invoke.Type.DIRECT,
           internalDescribePrototypeChanges(lookup.getPrototypeChanges(), bridge));
     }
-    return new GraphLensLookupResult(bridge, Invoke.Type.STATIC, lookup.getPrototypeChanges());
+    return new MethodLookupResult(bridge, Invoke.Type.STATIC, lookup.getPrototypeChanges());
   }
 
   public static Builder builder() {
diff --git a/src/main/java/com/android/tools/r8/optimize/MemberRebindingIdentityLens.java b/src/main/java/com/android/tools/r8/optimize/MemberRebindingIdentityLens.java
index 48c94cb..1a51e48 100644
--- a/src/main/java/com/android/tools/r8/optimize/MemberRebindingIdentityLens.java
+++ b/src/main/java/com/android/tools/r8/optimize/MemberRebindingIdentityLens.java
@@ -82,7 +82,7 @@
   }
 
   @Override
-  public GraphLensLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
+  public MethodLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
     return getPrevious().lookupMethod(method, context, type);
   }
 
diff --git a/src/main/java/com/android/tools/r8/optimize/MemberRebindingLens.java b/src/main/java/com/android/tools/r8/optimize/MemberRebindingLens.java
index 6e63744..2d59762 100644
--- a/src/main/java/com/android/tools/r8/optimize/MemberRebindingLens.java
+++ b/src/main/java/com/android/tools/r8/optimize/MemberRebindingLens.java
@@ -86,14 +86,14 @@
   }
 
   @Override
-  public GraphLensLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
-    GraphLensLookupResult lookup = getPrevious().lookupMethod(method, context, type);
+  public MethodLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
+    MethodLookupResult lookup = getPrevious().lookupMethod(method, context, type);
     Map<DexMethod, DexMethod> methodMap = methodMaps.getOrDefault(type, Collections.emptyMap());
-    DexMethod newMethod = methodMap.get(lookup.getMethod());
+    DexMethod newMethod = methodMap.get(lookup.getReference());
     if (newMethod == null) {
       return lookup;
     }
-    return new GraphLensLookupResult(
+    return new MethodLookupResult(
         newMethod,
         mapInvocationType(newMethod, method, lookup.getType()),
         lookup.getPrototypeChanges());
diff --git a/src/main/java/com/android/tools/r8/optimize/PublicizerLens.java b/src/main/java/com/android/tools/r8/optimize/PublicizerLens.java
index d743a3f..78ab924 100644
--- a/src/main/java/com/android/tools/r8/optimize/PublicizerLens.java
+++ b/src/main/java/com/android/tools/r8/optimize/PublicizerLens.java
@@ -40,19 +40,19 @@
   }
 
   @Override
-  public GraphLensLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
-    GraphLensLookupResult lookup = getPrevious().lookupMethod(method, context, type);
-    if (lookup.getType() == Type.DIRECT && publicizedMethods.contains(lookup.getMethod())) {
-      assert publicizedMethodIsPresentOnHolder(lookup.getMethod(), context);
-      return new GraphLensLookupResult(
-          lookup.getMethod(), Type.VIRTUAL, lookup.getPrototypeChanges());
+  public MethodLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
+    MethodLookupResult lookup = getPrevious().lookupMethod(method, context, type);
+    if (lookup.getType() == Type.DIRECT && publicizedMethods.contains(lookup.getReference())) {
+      assert publicizedMethodIsPresentOnHolder(lookup.getReference(), context);
+      return new MethodLookupResult(
+          lookup.getReference(), Type.VIRTUAL, lookup.getPrototypeChanges());
     }
     return lookup;
   }
 
   private boolean publicizedMethodIsPresentOnHolder(DexMethod method, DexMethod context) {
-    GraphLensLookupResult lookup = appView.graphLens().lookupMethod(method, context, Type.VIRTUAL);
-    DexMethod signatureInCurrentWorld = lookup.getMethod();
+    MethodLookupResult lookup = appView.graphLens().lookupMethod(method, context, Type.VIRTUAL);
+    DexMethod signatureInCurrentWorld = lookup.getReference();
     DexClass clazz = appView.definitionFor(signatureInCurrentWorld.holder);
     assert clazz != null;
     DexEncodedMethod actualEncodedTarget = clazz.lookupVirtualMethod(signatureInCurrentWorld);
diff --git a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
index 774c954..d61fbd7 100644
--- a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
+++ b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
@@ -28,7 +28,7 @@
 import com.android.tools.r8.graph.DexType;
 import com.android.tools.r8.graph.DexTypeList;
 import com.android.tools.r8.graph.GraphLens;
-import com.android.tools.r8.graph.GraphLens.GraphLensLookupResult;
+import com.android.tools.r8.graph.GraphLens.MethodLookupResult;
 import com.android.tools.r8.graph.GraphLens.NonIdentityGraphLens;
 import com.android.tools.r8.graph.LookupResult.LookupResultSuccess;
 import com.android.tools.r8.graph.MethodAccessFlags;
@@ -1140,7 +1140,7 @@
         // resolve to a method on an interface never hit an implementation below that interface.
         deferredRenamings.mapVirtualMethodToDirectInType(
             oldTarget,
-            prototypeChanges -> new GraphLensLookupResult(newTarget, STATIC, prototypeChanges),
+            prototypeChanges -> new MethodLookupResult(newTarget, STATIC, prototypeChanges),
             target.type);
       } else {
         // If we merge class B into class C, and class C contains an invocation super.m(), then it
@@ -1161,7 +1161,7 @@
           if (resolutionSucceeds) {
             deferredRenamings.mapVirtualMethodToDirectInType(
                 signatureInHolder,
-                prototypeChanges -> new GraphLensLookupResult(newTarget, DIRECT, prototypeChanges),
+                prototypeChanges -> new MethodLookupResult(newTarget, DIRECT, prototypeChanges),
                 target.type);
           } else {
             break;
@@ -1185,8 +1185,7 @@
               if (resolutionSucceededBeforeMerge) {
                 deferredRenamings.mapVirtualMethodToDirectInType(
                     signatureInType,
-                    prototypeChanges ->
-                        new GraphLensLookupResult(newTarget, DIRECT, prototypeChanges),
+                    prototypeChanges -> new MethodLookupResult(newTarget, DIRECT, prototypeChanges),
                     target.type);
               }
             }
@@ -1736,12 +1735,12 @@
     }
 
     @Override
-    public GraphLensLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
+    public MethodLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
       // First look up the method using the existing graph lens (for example, the type will have
       // changed if the method was publicized by ClassAndMemberPublicizer).
-      GraphLensLookupResult lookup = appView.graphLens().lookupMethod(method, context, type);
+      MethodLookupResult lookup = appView.graphLens().lookupMethod(method, context, type);
       // Then check if there is a renaming due to the vertical class merger.
-      DexMethod newMethod = renamedMembersLens.methodMap.get(lookup.getMethod());
+      DexMethod newMethod = renamedMembersLens.methodMap.get(lookup.getReference());
       if (newMethod == null) {
         return lookup;
       }
@@ -1751,10 +1750,10 @@
         DexClass clazz = appInfo.definitionFor(newMethod.holder);
         if (clazz != null && !clazz.accessFlags.isInterface()) {
           assert appInfo.definitionFor(method.holder).accessFlags.isInterface();
-          return new GraphLensLookupResult(newMethod, Type.VIRTUAL, lookup.getPrototypeChanges());
+          return new MethodLookupResult(newMethod, Type.VIRTUAL, lookup.getPrototypeChanges());
         }
       }
-      return new GraphLensLookupResult(newMethod, lookup.getType(), lookup.getPrototypeChanges());
+      return new MethodLookupResult(newMethod, lookup.getType(), lookup.getPrototypeChanges());
     }
 
     @Override
@@ -1863,41 +1862,41 @@
     @Override
     public void registerInvokeVirtual(DexMethod method) {
       assert context != null;
-      GraphLensLookupResult lookup =
+      MethodLookupResult lookup =
           appView.graphLens().lookupMethod(method, context.getReference(), Type.VIRTUAL);
-      checkMethodReference(lookup.getMethod(), OptionalBool.FALSE);
+      checkMethodReference(lookup.getReference(), OptionalBool.FALSE);
     }
 
     @Override
     public void registerInvokeDirect(DexMethod method) {
       assert context != null;
-      GraphLensLookupResult lookup =
+      MethodLookupResult lookup =
           appView.graphLens().lookupMethod(method, context.getReference(), Type.DIRECT);
-      checkMethodReference(lookup.getMethod(), OptionalBool.UNKNOWN);
+      checkMethodReference(lookup.getReference(), OptionalBool.UNKNOWN);
     }
 
     @Override
     public void registerInvokeStatic(DexMethod method) {
       assert context != null;
-      GraphLensLookupResult lookup =
+      MethodLookupResult lookup =
           appView.graphLens().lookupMethod(method, context.getReference(), Type.STATIC);
-      checkMethodReference(lookup.getMethod(), OptionalBool.UNKNOWN);
+      checkMethodReference(lookup.getReference(), OptionalBool.UNKNOWN);
     }
 
     @Override
     public void registerInvokeInterface(DexMethod method) {
       assert context != null;
-      GraphLensLookupResult lookup =
+      MethodLookupResult lookup =
           appView.graphLens().lookupMethod(method, context.getReference(), Type.INTERFACE);
-      checkMethodReference(lookup.getMethod(), OptionalBool.TRUE);
+      checkMethodReference(lookup.getReference(), OptionalBool.TRUE);
     }
 
     @Override
     public void registerInvokeSuper(DexMethod method) {
       assert context != null;
-      GraphLensLookupResult lookup =
+      MethodLookupResult lookup =
           appView.graphLens().lookupMethod(method, context.getReference(), Type.SUPER);
-      checkMethodReference(lookup.getMethod(), OptionalBool.UNKNOWN);
+      checkMethodReference(lookup.getReference(), OptionalBool.UNKNOWN);
     }
 
     @Override
diff --git a/src/main/java/com/android/tools/r8/shaking/VerticalClassMergerGraphLens.java b/src/main/java/com/android/tools/r8/shaking/VerticalClassMergerGraphLens.java
index f35fc06..8feaefe 100644
--- a/src/main/java/com/android/tools/r8/shaking/VerticalClassMergerGraphLens.java
+++ b/src/main/java/com/android/tools/r8/shaking/VerticalClassMergerGraphLens.java
@@ -50,7 +50,7 @@
 
   interface GraphLensLookupResultProvider {
 
-    abstract GraphLensLookupResult get(RewrittenPrototypeDescription prototypeChanges);
+    abstract MethodLookupResult get(RewrittenPrototypeDescription prototypeChanges);
   }
 
   private final AppView<?> appView;
@@ -98,19 +98,19 @@
   }
 
   @Override
-  public GraphLensLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
+  public MethodLookupResult lookupMethod(DexMethod method, DexMethod context, Type type) {
     assert context != null || verifyIsContextFreeForMethod(method);
     assert context == null || type != null;
     DexMethod previousContext =
         originalMethodSignaturesForBridges.containsKey(context)
             ? originalMethodSignaturesForBridges.get(context)
             : originalMethodSignatures.getOrDefault(context, context);
-    GraphLensLookupResult lookup = getPrevious().lookupMethod(method, previousContext, type);
+    MethodLookupResult lookup = getPrevious().lookupMethod(method, previousContext, type);
     if (lookup.getType() == Type.SUPER && !mergedMethods.contains(context)) {
       Map<DexMethod, GraphLensLookupResultProvider> virtualToDirectMethodMap =
           contextualVirtualToDirectMethodMaps.get(context.holder);
       if (virtualToDirectMethodMap != null) {
-        GraphLensLookupResultProvider result = virtualToDirectMethodMap.get(lookup.getMethod());
+        GraphLensLookupResultProvider result = virtualToDirectMethodMap.get(lookup.getReference());
         if (result != null) {
           // If the super class A of the enclosing class B (i.e., context.holder())
           // has been merged into B during vertical class merging, and this invoke-super instruction
@@ -122,13 +122,13 @@
         }
       }
     }
-    DexMethod newMethod = methodMap.get(lookup.getMethod());
+    DexMethod newMethod = methodMap.get(lookup.getReference());
     if (newMethod == null) {
       return lookup;
     }
-    return new GraphLensLookupResult(
+    return new MethodLookupResult(
         newMethod,
-        mapInvocationType(newMethod, lookup.getMethod(), lookup.getType()),
+        mapInvocationType(newMethod, lookup.getReference(), lookup.getType()),
         internalDescribePrototypeChanges(lookup.getPrototypeChanges(), newMethod));
   }
 
@@ -194,14 +194,13 @@
         for (Map.Entry<DexMethod, GraphLensLookupResultProvider> innerEntry :
             entry.getValue().entrySet()) {
           DexMethod from = innerEntry.getKey();
-          GraphLensLookupResult rewriting =
+          MethodLookupResult rewriting =
               innerEntry.getValue().get(RewrittenPrototypeDescription.none());
           DexMethod to =
-              builder.getMethodSignatureAfterClassMerging(rewriting.getMethod(), mergedClasses);
+              builder.getMethodSignatureAfterClassMerging(rewriting.getReference(), mergedClasses);
           newBuilder.mapVirtualMethodToDirectInType(
               from,
-              prototypeChanges ->
-                  new GraphLensLookupResult(to, rewriting.getType(), prototypeChanges),
+              prototypeChanges -> new MethodLookupResult(to, rewriting.getType(), prototypeChanges),
               context);
         }
       }