Strengthen type of methodCallsOnInstance in class inliner to InvokeMethodWithReceiver

Change-Id: Iefbe2b77827f13cbc074fc809a1bdc6e5a01ef5c
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/ForcedInliningOracle.java b/src/main/java/com/android/tools/r8/ir/optimize/ForcedInliningOracle.java
index ec28d2d..c791772 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/ForcedInliningOracle.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/ForcedInliningOracle.java
@@ -24,12 +24,12 @@
 
   private final AppView<AppInfoWithLiveness> appView;
   private final DexEncodedMethod method;
-  private final Map<InvokeMethod, Inliner.InliningInfo> invokesToInline;
+  private final Map<? extends InvokeMethod, Inliner.InliningInfo> invokesToInline;
 
   ForcedInliningOracle(
       AppView<AppInfoWithLiveness> appView,
       DexEncodedMethod method,
-      Map<InvokeMethod, Inliner.InliningInfo> invokesToInline) {
+      Map<? extends InvokeMethod, Inliner.InliningInfo> invokesToInline) {
     this.appView = appView;
     this.method = method;
     this.invokesToInline = invokesToInline;
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/Inliner.java b/src/main/java/com/android/tools/r8/ir/optimize/Inliner.java
index 117cf15..1ab2e28 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/Inliner.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/Inliner.java
@@ -811,7 +811,7 @@
   public void performForcedInlining(
       DexEncodedMethod method,
       IRCode code,
-      Map<InvokeMethod, InliningInfo> invokesToInline) {
+      Map<? extends InvokeMethod, InliningInfo> invokesToInline) {
 
     ForcedInliningOracle oracle = new ForcedInliningOracle(appView, method, invokesToInline);
     performInliningImpl(oracle, oracle, method, code, OptimizationFeedbackIgnore.getInstance());
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java b/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
index 9bad45e..90c746b 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
@@ -75,8 +75,8 @@
   private DexClass eligibleClassDefinition;
   private boolean isDesugaredLambda;
 
-  private final Map<InvokeMethod, InliningInfo> methodCallsOnInstance
-      = new IdentityHashMap<>();
+  private final Map<InvokeMethodWithReceiver, InliningInfo> methodCallsOnInstance =
+      new IdentityHashMap<>();
   private final Map<InvokeMethod, InliningInfo> extraMethodCalls
       = new IdentityHashMap<>();
   private final List<Pair<InvokeMethod, Integer>> unusedArguments
@@ -303,9 +303,9 @@
                       && root.outValue() == invoke.getReceiver();
               if (isCorrespondingConstructorCall) {
                 InliningInfo inliningInfo =
-                    isEligibleConstructorCall(user.asInvokeDirect(), singleTarget, defaultOracle);
+                    isEligibleConstructorCall(invoke, singleTarget, defaultOracle);
                 if (inliningInfo != null) {
-                  methodCallsOnInstance.put(user.asInvokeDirect(), inliningInfo);
+                  methodCallsOnInstance.put(invoke, inliningInfo);
                   continue;
                 }
               }