Desugar collections fix conversion for Google3 integration

Change-Id: I0329c8e3fbbfb4c043f3f47d1e2894ff222fd574
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/apiconversion/DesugaredLibraryConversionCfProvider.java b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/apiconversion/DesugaredLibraryConversionCfProvider.java
index b1a71cf..e270daf 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/apiconversion/DesugaredLibraryConversionCfProvider.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/apiconversion/DesugaredLibraryConversionCfProvider.java
@@ -320,6 +320,20 @@
     cfInstructions.add(new CfInvoke(invoke.getOpcode(), convertedMethod, invoke.isInterface()));
 
     if (returnConversion != null) {
+      assert returnConversion.getArity() == 1 || returnConversion.getArity() == 2;
+      if (returnConversion.getArity() == 2) {
+        // If there is a second parameter, pass the receiver.
+        if (!invoke.isInvokeSuper(context.getHolderType())) {
+          appView
+              .reporter()
+              .error(
+                  "Cannot generate inlined api conversion for return type for "
+                      + invoke.getMethod()
+                      + " in "
+                      + context.getReference());
+        }
+        cfInstructions.add(new CfLoad(ValueType.OBJECT, 0));
+      }
       cfInstructions.add(new CfInvoke(Opcodes.INVOKESTATIC, returnConversion, false));
     }