Use _NONNULL_ for @AssumeNotNull testing annotation
Fix: b/302650982
Change-Id: I3c795746269139d52f233a71d9c667425c394525
diff --git a/src/main/java/com/android/tools/r8/shaking/ProguardMemberRuleReturnValue.java b/src/main/java/com/android/tools/r8/shaking/ProguardMemberRuleReturnValue.java
index ba5072c..726ab9d 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardMemberRuleReturnValue.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardMemberRuleReturnValue.java
@@ -154,9 +154,8 @@
case VALUE_RANGE:
if (valueType.isReferenceType()) {
- return nullability.isDefinitelyNull()
- ? abstractValueFactory.createUncheckedNullValue()
- : AbstractValue.unknown();
+ assert false;
+ return AbstractValue.unknown();
}
return longInterval.isSingleValue()
? abstractValueFactory.createSingleNumberValue(
diff --git a/src/test/java/com/android/tools/r8/R8TestBuilder.java b/src/test/java/com/android/tools/r8/R8TestBuilder.java
index 8cd7133..238594e 100644
--- a/src/test/java/com/android/tools/r8/R8TestBuilder.java
+++ b/src/test/java/com/android/tools/r8/R8TestBuilder.java
@@ -425,8 +425,8 @@
public T enableAssumeNotNullAnnotations(String annotationPackageName) {
return addInternalKeepRules(
"-assumevalues class * {",
- " @" + annotationPackageName + ".AssumeNotNull *** * return 1;",
- " @" + annotationPackageName + ".AssumeNotNull *** *(...) return 1;",
+ " @" + annotationPackageName + ".AssumeNotNull *** * return _NONNULL_;",
+ " @" + annotationPackageName + ".AssumeNotNull *** *(...) return _NONNULL_;",
"}");
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/AssumeNotNullTest.java b/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/AssumeNotNullTest.java
index cb0e949..e592d03 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/AssumeNotNullTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/AssumeNotNullTest.java
@@ -47,10 +47,10 @@
.addKeepMainRule(Main.class)
.addKeepRules(
"-" + flavor + " class " + Factory.class.getTypeName() + " {",
- " java.lang.Object create() return 1;",
+ " java.lang.Object create() return _NONNULL_;",
"}",
"-" + flavor + " class " + Singleton.class.getTypeName() + " {",
- " java.lang.Object INSTANCE return 1;",
+ " java.lang.Object INSTANCE return _NONNULL_;",
"}")
.enableInliningAnnotations()
.setMinApi(parameters)