[KeepAnno] Add non-empty default to methodParameters

Without the non-empty default, editors might prompt users to remove the
"unnecessary" value. In the case of method parameters, the empty
parameters is *not* the default.

Bug: b/248408342
Change-Id: Ia5967e2e9c69860054560bafde0bd40fd6261765
diff --git a/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepBinding.java b/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepBinding.java
index a1576b8..9657a22 100644
--- a/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepBinding.java
+++ b/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepBinding.java
@@ -268,7 +268,7 @@
    * <p>If none, and other properties define this item as a method, the default matches any
    * parameters.
    */
-  String[] methodParameters() default {};
+  String[] methodParameters() default {"<default>"};
 
   /**
    * Define the field-access pattern by matching on access flags.
diff --git a/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepCondition.java b/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepCondition.java
index e9ea7e2..7777fd8 100644
--- a/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepCondition.java
+++ b/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepCondition.java
@@ -254,7 +254,7 @@
    * <p>If none, and other properties define this item as a method, the default matches any
    * parameters.
    */
-  String[] methodParameters() default {};
+  String[] methodParameters() default {"<default>"};
 
   /**
    * Define the field-access pattern by matching on access flags.
diff --git a/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepForApi.java b/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepForApi.java
index a47c40e..75410d7 100644
--- a/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepForApi.java
+++ b/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepForApi.java
@@ -95,7 +95,7 @@
    * <p>If none, and other properties define this item as a method, the default matches any
    * parameters.
    */
-  String[] methodParameters() default {};
+  String[] methodParameters() default {"<default>"};
 
   /**
    * Define the field-access pattern by matching on access flags.
diff --git a/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepTarget.java b/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepTarget.java
index ef96ad5..59e7e7c 100644
--- a/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepTarget.java
+++ b/src/keepanno/java/com/android/tools/r8/keepanno/annotations/KeepTarget.java
@@ -288,7 +288,7 @@
    * <p>If none, and other properties define this item as a method, the default matches any
    * parameters.
    */
-  String[] methodParameters() default {};
+  String[] methodParameters() default {"<default>"};
 
   /**
    * Define the field-access pattern by matching on access flags.
diff --git a/src/keepanno/java/com/android/tools/r8/keepanno/annotations/UsedByNative.java b/src/keepanno/java/com/android/tools/r8/keepanno/annotations/UsedByNative.java
index fab7214..b1ad804 100644
--- a/src/keepanno/java/com/android/tools/r8/keepanno/annotations/UsedByNative.java
+++ b/src/keepanno/java/com/android/tools/r8/keepanno/annotations/UsedByNative.java
@@ -110,7 +110,7 @@
    * <p>If none, and other properties define this item as a method, the default matches any
    * parameters.
    */
-  String[] methodParameters() default {};
+  String[] methodParameters() default {"<default>"};
 
   /**
    * Define the field-access pattern by matching on access flags.
diff --git a/src/keepanno/java/com/android/tools/r8/keepanno/annotations/UsedByReflection.java b/src/keepanno/java/com/android/tools/r8/keepanno/annotations/UsedByReflection.java
index 101c016..27489cb 100644
--- a/src/keepanno/java/com/android/tools/r8/keepanno/annotations/UsedByReflection.java
+++ b/src/keepanno/java/com/android/tools/r8/keepanno/annotations/UsedByReflection.java
@@ -110,7 +110,7 @@
    * <p>If none, and other properties define this item as a method, the default matches any
    * parameters.
    */
-  String[] methodParameters() default {};
+  String[] methodParameters() default {"<default>"};
 
   /**
    * Define the field-access pattern by matching on access flags.
diff --git a/src/test/java/com/android/tools/r8/keepanno/utils/KeepItemAnnotationGenerator.java b/src/test/java/com/android/tools/r8/keepanno/utils/KeepItemAnnotationGenerator.java
index 6965317..9939a27 100644
--- a/src/test/java/com/android/tools/r8/keepanno/utils/KeepItemAnnotationGenerator.java
+++ b/src/test/java/com/android/tools/r8/keepanno/utils/KeepItemAnnotationGenerator.java
@@ -618,7 +618,8 @@
                       "Define the method parameters pattern by a list of fully qualified types.")
                   .addDoc(getMutuallyExclusiveForMethodProperties())
                   .addDoc(getMethodDefaultDoc("any parameters"))
-                  .defaultEmptyArray("String"));
+                  .defaultType("String[]")
+                  .defaultValue("{\"<default>\"}"));
     }
 
     private Group createFieldAccessGroup() {