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);
}
}