Ensure companion method

Change-Id: Id90dc10b40e385ebfcf15e9b61d33bba7dbad341
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/itf/InterfaceMethodRewriter.java b/src/main/java/com/android/tools/r8/ir/desugar/itf/InterfaceMethodRewriter.java
index d30f717..6740441 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/itf/InterfaceMethodRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/itf/InterfaceMethodRewriter.java
@@ -693,9 +693,7 @@
                   DexClassAndMethod companionMethod =
                       helper.ensureDefaultAsMethodOfCompanionClassStub(method);
                   acceptCompanionMethod(method, companionMethod, eventConsumer);
-                  return getInvokeStaticInstructions(
-                      InterfaceDesugaringSyntheticHelper.defaultAsMethodOfCompanionClass(
-                          amendedMethod, appView.dexItemFactory()));
+                  return getInvokeStaticInstructions(companionMethod.getReference());
                 })
             .build();
       }
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/itf/ProgramEmulatedInterfaceSynthesizer.java b/src/main/java/com/android/tools/r8/ir/desugar/itf/ProgramEmulatedInterfaceSynthesizer.java
index 3e8b5cb..f712cb4 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/itf/ProgramEmulatedInterfaceSynthesizer.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/itf/ProgramEmulatedInterfaceSynthesizer.java
@@ -227,8 +227,9 @@
                         .resolveMethod(derivedMethod.getMethod(), true)
                         .getResolvedProgramMethod();
                 caseMethod =
-                    InterfaceDesugaringSyntheticHelper.defaultAsMethodOfCompanionClass(
-                        resolvedProgramMethod.getReference(), appView.dexItemFactory());
+                    helper
+                        .ensureDefaultAsMethodOfProgramCompanionClassStub(resolvedProgramMethod)
+                        .getReference();
               }
               extraDispatchCases.put(type, caseMethod);
             });
@@ -276,10 +277,12 @@
         DexEncodedMethod result = subInterfaceClass.lookupVirtualMethod(method.getReference());
         if (result != null && !result.isAbstract()) {
           assert result.isDefaultMethod();
-          extraDispatchCases.put(
-              subInterfaceClass.type,
-              InterfaceDesugaringSyntheticHelper.defaultAsMethodOfCompanionClass(
-                  result.getReference(), appView.dexItemFactory()));
+          DexMethod forward =
+              helper
+                  .ensureDefaultAsMethodOfProgramCompanionClassStub(
+                      new ProgramMethod(subInterfaceClass.asProgramClass(), result))
+                  .getReference();
+          extraDispatchCases.put(subInterfaceClass.type, forward);
         }
       }
     } else {