Avoid mutating arguments list in lens code rewriter

Change-Id: I08e8c0325260ffaa4ab47611bd7a5d1377e431a0
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 04f692d..1e5f6d5 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
@@ -253,7 +253,11 @@
                 ArgumentInfoCollection argumentInfoCollection =
                     prototypeChanges.getArgumentInfoCollection();
                 if (argumentInfoCollection.isEmpty()) {
-                  newInValues = invoke.inValues();
+                  if (prototypeChanges.hasExtraParameters()) {
+                    newInValues = new ArrayList<>(invoke.inValues());
+                  } else {
+                    newInValues = invoke.inValues();
+                  }
                 } else {
                   if (argumentInfoCollection.hasRemovedArguments()) {
                     if (Log.ENABLED) {
diff --git a/src/main/java/com/android/tools/r8/verticalclassmerging/InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.java b/src/main/java/com/android/tools/r8/verticalclassmerging/InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.java
index 4222450..e97d8c5 100644
--- a/src/main/java/com/android/tools/r8/verticalclassmerging/InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.java
+++ b/src/main/java/com/android/tools/r8/verticalclassmerging/InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.java
@@ -63,6 +63,12 @@
       return;
     }
 
+    if (originalInvoke.arguments().size()
+        != originalInvokedMethod.getNumberOfArguments(originalInvoke.isInvokeStatic())) {
+      // Wrong number of arguments, this instruction always fails.
+      return;
+    }
+
     // Intentionally iterate the arguments of the original invoke, since the rewritten invoke could
     // have extra arguments added.
     for (int operandIndex = 0; operandIndex < originalInvoke.arguments().size(); operandIndex++) {