Temporarily allow dynamic type for methods returning primitives

Bug: b/302109512
Change-Id: Ia66e6ae53f9205bbcad3cee170fcdd012e1dc85b
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/info/MethodResolutionOptimizationInfoAnalysis.java b/src/main/java/com/android/tools/r8/ir/optimize/info/MethodResolutionOptimizationInfoAnalysis.java
index 0f6738d..b586b2a 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/info/MethodResolutionOptimizationInfoAnalysis.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/info/MethodResolutionOptimizationInfoAnalysis.java
@@ -324,9 +324,13 @@
           dynamicReturnType =
               WideningUtils.widenDynamicNonReceiverType(
                   appView, dynamicReturnType, method.getReturnType());
-        } else {
+        } else if (method.getReturnType().isArrayType()) {
           // TODO: also widen array types.
-          assert method.getReturnType().isArrayType() || dynamicReturnType.isUnknown();
+        } else {
+          // TODO(b/302109512): The dynamic type for methods that return primitives should always be
+          //  unknown (i.e., we should: assert dynamicReturnType.isUnknown()).
+          assert method.getReturnType().isPrimitiveType();
+          dynamicReturnType = DynamicType.unknown();
         }
       }