[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() {