Bail out KmFunction rewriting if any type rewriting failed.

Bug: 147402444, 70169921
Change-Id: I2a26ac3878feea1bc8e6ece2fff7cfeab0f12d0b
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataSynthesizer.java b/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataSynthesizer.java
index ef9419c..7e4f7ca 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataSynthesizer.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataSynthesizer.java
@@ -269,7 +269,9 @@
             : new KmConstructor(method.accessFlags.getAsKotlinFlags());
     List<KmValueParameter> parameters = kmConstructor.getValueParameters();
     parameters.clear();
-    populateKmValueParameters(parameters, method, appView, lens, false);
+    if (!populateKmValueParameters(parameters, method, appView, lens, false)) {
+      return null;
+    }
     return kmConstructor;
   }
 
@@ -314,22 +316,28 @@
             // TODO(b/70169921): Consult kotlinx.metadata.Flag.Function for kind (e.g., suspend).
             : new KmFunction(method.accessFlags.getAsKotlinFlags(), renamedMethod.name.toString());
     KmType kmReturnType = toRenamedKmType(method.method.proto.returnType, appView, lens);
-    assert kmReturnType != null;
+    if (kmReturnType == null) {
+      return null;
+    }
     kmFunction.setReturnType(kmReturnType);
     if (isExtension) {
       assert method.method.proto.parameters.values.length > 0;
       KmType kmReceiverType =
           toRenamedKmType(method.method.proto.parameters.values[0], appView, lens);
-      assert kmReceiverType != null;
+      if (kmReceiverType == null) {
+        return null;
+      }
       kmFunction.setReceiverParameterType(kmReceiverType);
     }
     List<KmValueParameter> parameters = kmFunction.getValueParameters();
     parameters.clear();
-    populateKmValueParameters(parameters, method, appView, lens, isExtension);
+    if (!populateKmValueParameters(parameters, method, appView, lens, isExtension)) {
+      return null;
+    }
     return kmFunction;
   }
 
-  private static void populateKmValueParameters(
+  private static boolean populateKmValueParameters(
       List<KmValueParameter> parameters,
       DexEncodedMethod method,
       AppView<AppInfoWithLiveness> appView,
@@ -342,9 +350,12 @@
       // TODO(b/70169921): Consult kotlinx.metadata.Flag.ValueParameter.
       KmValueParameter kmValueParameter = new KmValueParameter(flagsOf(), parameterName);
       KmType kmParamType = toRenamedKmType(paramType, appView, lens);
-      assert kmParamType != null;
+      if (kmParamType == null) {
+        return false;
+      }
       kmValueParameter.setType(kmParamType);
       parameters.add(kmValueParameter);
     }
+    return true;
   }
 }