Fix Objects#hashCode test
- The argument is now proven non-null which converts
Objects#hashCode(Object) into Object#hashCode(),
leading the test to no longer test what it is supposed
to test
Change-Id: Ida9e15909139efa0697adce82cb05ee827365bd4
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ObjectsTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ObjectsTest.java
index 7a5fb66..add6c84 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ObjectsTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ObjectsTest.java
@@ -15,6 +15,7 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.onlyIf;
import static org.hamcrest.MatcherAssert.assertThat;
+import com.android.tools.r8.KeepConstantArguments;
import com.android.tools.r8.NeverInline;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestRuntime.CfVm;
@@ -305,6 +306,7 @@
.addProgramClassFileData(ImmutableList.of(dumpAndroidRUtilsObjectsMethods()))
.addKeepMainRule(TestClass.class)
.enableInliningAnnotations()
+ .enableConstantArgumentAnnotations()
.noMinification()
.addKeepRules("-keep class AndroidRUtilsObjectsMethods { *; }")
.addKeepRules("-neverinline class AndroidRUtilsObjectsMethods { *; }")
@@ -342,6 +344,9 @@
System.out.println(Objects.hash(o1, o2));
}
+ // We keep constant arguments to avoid the argument to be proven non-null leading to
+ // Objects#hashCode(Object) being rewritten to Object#hashCode().
+ @KeepConstantArguments
@NeverInline
private static void objectsHashCode(Object o) {
System.out.println(Objects.hashCode(o));