Update names for parameters in androidx keep annotations
Bug: b/392865072
Change-Id: I943d7c62a24b1106426bdbfabb81db7b4b090876
diff --git a/src/keepanno/java/androidx/annotation/keep/UsesReflectionToAccessMethod.kt b/src/keepanno/java/androidx/annotation/keep/UsesReflectionToAccessMethod.kt
index d750e70..ddaefbf 100644
--- a/src/keepanno/java/androidx/annotation/keep/UsesReflectionToAccessMethod.kt
+++ b/src/keepanno/java/androidx/annotation/keep/UsesReflectionToAccessMethod.kt
@@ -66,22 +66,22 @@
/**
* Defines which method to keep by specifying set of parameter classes passed.
*
- * If neither `param` nor `paramTypeNames` is specified then methods with all parameter lists
- * are kept.
+ * If neither `parameterTypes` nor `parameterTypeNames` is specified then methods with all
+ * parameter lists are kept.
*
- * Mutually exclusive with [paramTypeNames].
+ * Mutually exclusive with [parameterTypeNames].
*/
- val params: Array<KClass<*>> = [Unspecified::class],
+ val parameterTypes: Array<KClass<*>> = [Unspecified::class],
/**
* Defines which method to keep by specifying set of parameter classes passed.
*
- * If neither `param` nor `paramTypeNames` is specified then methods with all parameter lists
- * are kept.
+ * If neither `parameterTypes` nor `parameterTypeNames` is specified then methods with all
+ * parameter lists are kept.
*
- * Mutually exclusive with [params].
+ * Mutually exclusive with [parameterTypes].
*/
- val paramTypeNames: Array<String> = [""],
+ val parameterTypeNames: Array<String> = [""],
/**
* Return type of the method accessed by reflection.
diff --git a/src/keepanno/java/androidx/annotation/keep/UsesReflectionToConstruct.kt b/src/keepanno/java/androidx/annotation/keep/UsesReflectionToConstruct.kt
index ff39d03..8aabcb5 100644
--- a/src/keepanno/java/androidx/annotation/keep/UsesReflectionToConstruct.kt
+++ b/src/keepanno/java/androidx/annotation/keep/UsesReflectionToConstruct.kt
@@ -66,20 +66,20 @@
/**
* Defines which constructor to keep by specifying the parameter list types.
*
- * If neither `param` nor `paramTypeNames` is specified then constructors with all parameter
- * lists are kept.
+ * If neither `parameterTypes` nor `parameterTypeNames` is specified then constructors with all
+ * parameter lists are kept.
*
- * Mutually exclusive with [paramTypeNames].
+ * Mutually exclusive with [parameterTypeNames].
*/
- val params: Array<KClass<*>> = [Unspecified::class],
+ val parameterTypes: Array<KClass<*>> = [Unspecified::class],
/**
* Defines which constructor to keep by specifying the parameter list types.
*
- * If neither `param` nor `paramTypeNames` is specified then constructors with all parameter
- * lists are kept.
+ * If neither `parameterTypes` nor `parameterTypeNames` is specified then constructors with all
+ * parameter lists are kept.
*
- * Mutually exclusive with [params].
+ * Mutually exclusive with [parameterTypes].
*/
- val paramTypeNames: Array<String> = [""],
+ val parameterTypeNames: Array<String> = [""],
)
diff --git a/src/keepanno/java/com/android/tools/r8/keepanno/asm/KeepEdgeReader.java b/src/keepanno/java/com/android/tools/r8/keepanno/asm/KeepEdgeReader.java
index 48b6260..d61476b 100644
--- a/src/keepanno/java/com/android/tools/r8/keepanno/asm/KeepEdgeReader.java
+++ b/src/keepanno/java/com/android/tools/r8/keepanno/asm/KeepEdgeReader.java
@@ -1546,11 +1546,11 @@
@Override
public AnnotationVisitor visitArray(String name) {
PropertyParsingContext propertyParsingContext = parsingContext.property(name);
- if (name.equals(UsesReflectionToConstruct.params)) {
+ if (name.equals(UsesReflectionToConstruct.parameterTypes)) {
return new ParametersClassVisitor(
propertyParsingContext, parameters -> this.parameters = parameters);
}
- if (name.equals(UsesReflectionToConstruct.paramTypeNames)) {
+ if (name.equals(UsesReflectionToConstruct.parameterTypeNames)) {
return new ParametersClassNamesVisitor(
propertyParsingContext, parameters -> this.parameters = parameters);
}
diff --git a/src/keepanno/java/com/android/tools/r8/keepanno/ast/AnnotationConstants.java b/src/keepanno/java/com/android/tools/r8/keepanno/ast/AnnotationConstants.java
index 73077b7..4d813f5 100644
--- a/src/keepanno/java/com/android/tools/r8/keepanno/ast/AnnotationConstants.java
+++ b/src/keepanno/java/com/android/tools/r8/keepanno/ast/AnnotationConstants.java
@@ -154,8 +154,8 @@
public static final String classConstant = "classConstant";
public static final String className = "className";
public static final String constructorParametersGroup = "constructor-parameters";
- public static final String params = "params";
- public static final String paramTypeNames = "paramTypeNames";
+ public static final String parameterTypes = "parameterTypes";
+ public static final String parameterTypeNames = "parameterTypeNames";
}
public static final class UsesReflectionToAccessMethod {
@@ -183,8 +183,8 @@
public static final String className = "className";
public static final String methodName = "methodName";
public static final String constructorParametersGroup = "constructor-parameters";
- public static final String params = "params";
- public static final String paramTypeNames = "paramTypeNames";
+ public static final String parameterTypes = "parameterTypes";
+ public static final String parameterTypeNames = "parameterTypeNames";
public static final String returnSelectionGroup = "return-selection";
public static final String returnType = "returnType";
public static final String returnTypeName = "returnTypeName";
diff --git a/src/test/java/com/android/tools/r8/keepanno/androidx/KeepUsesReflectionForInstantiationMultipleConstructorsTest.java b/src/test/java/com/android/tools/r8/keepanno/androidx/KeepUsesReflectionForInstantiationMultipleConstructorsTest.java
index b877504..d0ce7ee 100644
--- a/src/test/java/com/android/tools/r8/keepanno/androidx/KeepUsesReflectionForInstantiationMultipleConstructorsTest.java
+++ b/src/test/java/com/android/tools/r8/keepanno/androidx/KeepUsesReflectionForInstantiationMultipleConstructorsTest.java
@@ -129,10 +129,10 @@
@UsesReflectionToConstruct(
classConstant = KeptClass.class,
- params = {int.class})
+ parameterTypes = {int.class})
@UsesReflectionToConstruct(
classConstant = KeptClass.class,
- params = {long.class})
+ parameterTypes = {long.class})
public void foo(Class<KeptClass> clazz) throws Exception {
if (clazz != null) {
clazz.getDeclaredConstructor(int.class).newInstance(1);
@@ -156,10 +156,10 @@
@UsesReflectionToConstruct(
className = classNameOfKeptClass,
- params = {int.class})
+ parameterTypes = {int.class})
@UsesReflectionToConstruct(
className = classNameOfKeptClass,
- params = {long.class})
+ parameterTypes = {long.class})
public void foo(Class<KeptClass> clazz) throws Exception {
if (clazz != null) {
clazz.getDeclaredConstructor(int.class).newInstance(1);
diff --git a/src/test/java/com/android/tools/r8/keepanno/androidx/KeepUsesReflectionForInstantiationNoArgsConstructorTest.java b/src/test/java/com/android/tools/r8/keepanno/androidx/KeepUsesReflectionForInstantiationNoArgsConstructorTest.java
index 99346d2..8943ccf 100644
--- a/src/test/java/com/android/tools/r8/keepanno/androidx/KeepUsesReflectionForInstantiationNoArgsConstructorTest.java
+++ b/src/test/java/com/android/tools/r8/keepanno/androidx/KeepUsesReflectionForInstantiationNoArgsConstructorTest.java
@@ -101,7 +101,7 @@
@UsesReflectionToConstruct(
classConstant = KeptClass.class,
- params = {})
+ parameterTypes = {})
public void foo(Class<KeptClass> clazz) throws Exception {
if (clazz != null) {
clazz.getDeclaredConstructor().newInstance();
@@ -130,7 +130,7 @@
@UsesReflectionToConstruct(
className = classNameOfKeptClass,
- params = {})
+ parameterTypes = {})
public void foo(Class<KeptClass> clazz) throws Exception {
if (clazz != null) {
clazz.getDeclaredConstructor().newInstance();
diff --git a/src/test/java/com/android/tools/r8/keepanno/androidx/kt/IntAndLongArgsConstructors.kt b/src/test/java/com/android/tools/r8/keepanno/androidx/kt/IntAndLongArgsConstructors.kt
index 557e89e..2f0dcd2 100644
--- a/src/test/java/com/android/tools/r8/keepanno/androidx/kt/IntAndLongArgsConstructors.kt
+++ b/src/test/java/com/android/tools/r8/keepanno/androidx/kt/IntAndLongArgsConstructors.kt
@@ -9,8 +9,8 @@
class IntAndLongArgsConstructors {
- @UsesReflectionToConstruct(classConstant = KeptClass::class, params = [Int::class])
- @UsesReflectionToConstruct(classConstant = KeptClass::class, params = [Long::class])
+ @UsesReflectionToConstruct(classConstant = KeptClass::class, parameterTypes = [Int::class])
+ @UsesReflectionToConstruct(classConstant = KeptClass::class, parameterTypes = [Long::class])
fun foo(clazz: KClass<KeptClass>?) {
val intConstructor =
clazz?.constructors?.first {
diff --git a/src/test/java/com/android/tools/r8/keepanno/androidx/kt/IntAndLongArgsConstructorsClassName.kt b/src/test/java/com/android/tools/r8/keepanno/androidx/kt/IntAndLongArgsConstructorsClassName.kt
index 143ca75..0737754 100644
--- a/src/test/java/com/android/tools/r8/keepanno/androidx/kt/IntAndLongArgsConstructorsClassName.kt
+++ b/src/test/java/com/android/tools/r8/keepanno/androidx/kt/IntAndLongArgsConstructorsClassName.kt
@@ -11,11 +11,11 @@
@UsesReflectionToConstruct(
className = "com.android.tools.r8.keepanno.androidx.kt.KeptClass",
- params = [Int::class],
+ parameterTypes = [Int::class],
)
@UsesReflectionToConstruct(
className = "com.android.tools.r8.keepanno.androidx.kt.KeptClass",
- params = [Long::class],
+ parameterTypes = [Long::class],
)
fun foo(clazz: KClass<KeptClass>?) {
val intConstructor =
diff --git a/src/test/java/com/android/tools/r8/keepanno/androidx/kt/OnlyNoArgsConstructor.kt b/src/test/java/com/android/tools/r8/keepanno/androidx/kt/OnlyNoArgsConstructor.kt
index 3e09892..4e9e3eb 100644
--- a/src/test/java/com/android/tools/r8/keepanno/androidx/kt/OnlyNoArgsConstructor.kt
+++ b/src/test/java/com/android/tools/r8/keepanno/androidx/kt/OnlyNoArgsConstructor.kt
@@ -8,7 +8,7 @@
import kotlin.reflect.full.primaryConstructor
class OnlyNoArgsConstructor {
- @UsesReflectionToConstruct(classConstant = KeptClass::class, params = [])
+ @UsesReflectionToConstruct(classConstant = KeptClass::class, parameterTypes = [])
fun foo(clazz: KClass<KeptClass>?) {
println(clazz?.primaryConstructor)
clazz?.primaryConstructor?.call()
diff --git a/src/test/java/com/android/tools/r8/keepanno/androidx/kt/OnlyNoArgsConstructorClassName.kt b/src/test/java/com/android/tools/r8/keepanno/androidx/kt/OnlyNoArgsConstructorClassName.kt
index 73e49d2..6eb2c08 100644
--- a/src/test/java/com/android/tools/r8/keepanno/androidx/kt/OnlyNoArgsConstructorClassName.kt
+++ b/src/test/java/com/android/tools/r8/keepanno/androidx/kt/OnlyNoArgsConstructorClassName.kt
@@ -10,7 +10,7 @@
class OnlyNoArgsConstructorClassName {
@UsesReflectionToConstruct(
className = "com.android.tools.r8.keepanno.androidx.kt.KeptClass",
- params = [],
+ parameterTypes = [],
)
fun foo(clazz: KClass<KeptClass>?) {
println(clazz?.primaryConstructor)
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 7121cbd..e060bbf 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
@@ -1880,10 +1880,10 @@
private Group createAndroidXParameterSelection(
Consumer<GroupMember> paramsConsumer, Consumer<GroupMember> paramTypeNamesConsumer) {
- GroupMember params = new GroupMember("params").defaultUnspecifiedArray();
+ GroupMember params = new GroupMember("parameterTypes").defaultUnspecifiedArray();
paramsConsumer.accept(params);
GroupMember paramTypeNames =
- new GroupMember("paramTypeNames")
+ new GroupMember("parameterTypeNames")
.defaultArrayValue(Reference.classFromClass(String.class), "\"\"");
paramTypeNamesConsumer.accept(paramTypeNames);
return new Group("constructor-parameters")
@@ -1975,15 +1975,15 @@
"Defines which constructor to keep by specifying the parameter list"
+ " types.")
.addSection(
- "If neither `param` nor `paramTypeNames` is specified then"
- + " constructors with all parameter lists are kept."),
+ "If neither `parameterTypes` nor `parameterTypeNames` is specified"
+ + " then constructors with all parameter lists are kept."),
g ->
g.setDocTitle(
"Defines which constructor to keep by specifying the parameter list"
+ " types.")
.addSection(
- "If neither `param` nor `paramTypeNames` is specified then"
- + " constructors with all parameter lists are kept."))
+ "If neither `parameterTypes` nor `parameterTypeNames` is specified"
+ + " then constructors with all parameter lists are kept."))
.generate(this);
});
printCloseAnnotationClass();
@@ -2030,15 +2030,15 @@
"Defines which method to keep by specifying set of parameter"
+ " classes passed.")
.addSection(
- "If neither `param` nor `paramTypeNames` is specified then"
- + " methods with all parameter lists are kept."),
+ "If neither `parameterTypes` nor `parameterTypeNames` is specified"
+ + " then methods with all parameter lists are kept."),
g ->
g.setDocTitle(
"Defines which method to keep by specifying set of parameter"
+ " classes passed.")
.addSection(
- "If neither `param` nor `paramTypeNames` is specified then"
- + " methods with all parameter lists are kept."))
+ "If neither `parameterTypes` nor `parameterTypeNames` is specified"
+ + " then methods with all parameter lists are kept."))
.generate(this);
println();
createAndroidXReturnTypeSelection().generate(this);