commit | fdadba9ee49db3f895f86558ef87b17706d075a3 | [log] [tgz] |
---|---|---|
author | Christoffer Quist Adamsen <christofferqa@google.com> | Tue Sep 26 15:26:58 2023 +0200 |
committer | Christoffer Quist Adamsen <christofferqa@google.com> | Tue Sep 26 15:26:58 2023 +0200 |
tree | 238d478a3df6072d6c3909385e061743f9e58d17 | |
parent | 50daa7a5deda9f92aaf327ddc9a42c4c17936e7e [diff] |
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(); } }