[KeepAnno] Add test for invalid use of binding and class patterns
Change-Id: I7f28f1e559f920c30f15c328e876f41053f45e58
diff --git a/src/test/java/com/android/tools/r8/keepanno/KeepInvalidTargetTest.java b/src/test/java/com/android/tools/r8/keepanno/KeepInvalidTargetTest.java
index b95f700..eb5791a 100644
--- a/src/test/java/com/android/tools/r8/keepanno/KeepInvalidTargetTest.java
+++ b/src/test/java/com/android/tools/r8/keepanno/KeepInvalidTargetTest.java
@@ -80,6 +80,22 @@
}
@Test
+ public void testInvalidClassDeclWithBinding() {
+ assertThrowsWith(
+ () -> extractRuleForClass(BindingAndClassDeclarations.class),
+ allOf(containsString("class binding"), containsString("class patterns")));
+ }
+
+ static class BindingAndClassDeclarations {
+
+ // Both properties are using the "default" value of an empty string, but should still fail.
+ @UsesReflection({@KeepTarget(classFromBinding = "", className = "")})
+ public static void main(String[] args) {
+ System.out.println("Hello, world");
+ }
+ }
+
+ @Test
public void testInvalidExtendsDecl() {
assertThrowsWith(
() -> extractRuleForClass(MultipleExtendsDeclarations.class),