[KeepAnno] Replace use of class constants by simple name value
Bug: b/248408342
Change-Id: I3e2c1ff74ae66670e8ed1834f29af1f57a6c2562
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 1599972..bc466c5 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
@@ -452,7 +452,7 @@
@Override
public String getAnnotationName() {
- return ForApi.CLASS.getSimpleName();
+ return ForApi.SIMPLE_NAME;
}
@Override
@@ -554,7 +554,7 @@
@Override
public String getAnnotationName() {
- return ForApi.CLASS.getSimpleName();
+ return ForApi.SIMPLE_NAME;
}
@Override
@@ -811,7 +811,7 @@
@Override
public String getAnnotationName() {
- return UsesReflection.CLASS.getSimpleName();
+ return UsesReflection.SIMPLE_NAME;
}
@Override
@@ -1673,7 +1673,7 @@
@Override
public String getAnnotationName() {
- return Binding.CLASS.getSimpleName();
+ return Binding.SIMPLE_NAME;
}
@Override
@@ -1797,7 +1797,7 @@
@Override
public String getAnnotationName() {
- return Target.CLASS.getSimpleName();
+ return Target.SIMPLE_NAME;
}
@Override
@@ -1835,7 +1835,7 @@
@Override
public String getAnnotationName() {
- return Condition.CLASS.getSimpleName();
+ return Condition.SIMPLE_NAME;
}
@Override
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 d904b2c..7ca4306 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
@@ -16,8 +16,7 @@
*/
public final class AnnotationConstants {
public static final class Edge {
- public static final Class<com.android.tools.r8.keepanno.annotations.KeepEdge> CLASS =
- com.android.tools.r8.keepanno.annotations.KeepEdge.class;
+ public static final String SIMPLE_NAME = "KeepEdge";
public static final String DESCRIPTOR = "Lcom/android/tools/r8/keepanno/annotations/KeepEdge;";
public static final String description = "description";
public static final String bindings = "bindings";
@@ -26,8 +25,7 @@
}
public static final class ForApi {
- public static final Class<com.android.tools.r8.keepanno.annotations.KeepForApi> CLASS =
- com.android.tools.r8.keepanno.annotations.KeepForApi.class;
+ public static final String SIMPLE_NAME = "KeepForApi";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/KeepForApi;";
public static final String description = "description";
@@ -36,8 +34,7 @@
}
public static final class UsesReflection {
- public static final Class<com.android.tools.r8.keepanno.annotations.UsesReflection> CLASS =
- com.android.tools.r8.keepanno.annotations.UsesReflection.class;
+ public static final String SIMPLE_NAME = "UsesReflection";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/UsesReflection;";
public static final String description = "description";
@@ -46,8 +43,7 @@
}
public static final class UsedByReflection {
- public static final Class<com.android.tools.r8.keepanno.annotations.UsedByReflection> CLASS =
- com.android.tools.r8.keepanno.annotations.UsedByReflection.class;
+ public static final String SIMPLE_NAME = "UsedByReflection";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/UsedByReflection;";
public static final String description = "description";
@@ -56,23 +52,20 @@
}
public static final class UsedByNative {
- public static final Class<com.android.tools.r8.keepanno.annotations.UsedByNative> CLASS =
- com.android.tools.r8.keepanno.annotations.UsedByNative.class;
+ public static final String SIMPLE_NAME = "UsedByNative";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/UsedByNative;";
// Content is the same as UsedByReflection.
}
public static final class CheckRemoved {
- public static final Class<com.android.tools.r8.keepanno.annotations.CheckRemoved> CLASS =
- com.android.tools.r8.keepanno.annotations.CheckRemoved.class;
+ public static final String SIMPLE_NAME = "CheckRemoved";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/CheckRemoved;";
}
public static final class CheckOptimizedOut {
- public static final Class<com.android.tools.r8.keepanno.annotations.CheckOptimizedOut> CLASS =
- com.android.tools.r8.keepanno.annotations.CheckOptimizedOut.class;
+ public static final String SIMPLE_NAME = "CheckOptimizedOut";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/CheckOptimizedOut;";
}
@@ -101,23 +94,20 @@
}
public static final class Binding {
- public static final Class<com.android.tools.r8.keepanno.annotations.KeepBinding> CLASS =
- com.android.tools.r8.keepanno.annotations.KeepBinding.class;
+ public static final String SIMPLE_NAME = "KeepBinding";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/KeepBinding;";
public static final String bindingName = "bindingName";
}
public static final class Condition {
- public static final Class<com.android.tools.r8.keepanno.annotations.KeepCondition> CLASS =
- com.android.tools.r8.keepanno.annotations.KeepCondition.class;
+ public static final String SIMPLE_NAME = "KeepCondition";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/KeepCondition;";
}
public static final class Target {
- public static final Class<com.android.tools.r8.keepanno.annotations.KeepTarget> CLASS =
- com.android.tools.r8.keepanno.annotations.KeepTarget.class;
+ public static final String SIMPLE_NAME = "KeepTarget";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/KeepTarget;";
public static final String kind = "kind";
@@ -126,8 +116,7 @@
}
public static final class Kind {
- public static final Class<com.android.tools.r8.keepanno.annotations.KeepItemKind> CLASS =
- com.android.tools.r8.keepanno.annotations.KeepItemKind.class;
+ public static final String SIMPLE_NAME = "KeepItemKind";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/KeepItemKind;";
public static final String ONLY_CLASS = "ONLY_CLASS";
@@ -136,8 +125,7 @@
}
public static final class Option {
- public static final Class<com.android.tools.r8.keepanno.annotations.KeepOption> CLASS =
- com.android.tools.r8.keepanno.annotations.KeepOption.class;
+ public static final String SIMPLE_NAME = "KeepOption";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/KeepOption;";
public static final String SHRINKING = "SHRINKING";
@@ -148,8 +136,7 @@
}
public static final class MemberAccess {
- public static final Class<com.android.tools.r8.keepanno.annotations.MemberAccessFlags> CLASS =
- com.android.tools.r8.keepanno.annotations.MemberAccessFlags.class;
+ public static final String SIMPLE_NAME = "MemberAccessFlags";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/MemberAccessFlags;";
public static final String NEGATION_PREFIX = "NON_";
@@ -163,8 +150,7 @@
}
public static final class MethodAccess {
- public static final Class<com.android.tools.r8.keepanno.annotations.MethodAccessFlags> CLASS =
- com.android.tools.r8.keepanno.annotations.MethodAccessFlags.class;
+ public static final String SIMPLE_NAME = "MethodAccessFlags";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/MethodAccessFlags;";
public static final String SYNCHRONIZED = "SYNCHRONIZED";
@@ -175,8 +161,7 @@
}
public static final class FieldAccess {
- public static final Class<com.android.tools.r8.keepanno.annotations.FieldAccessFlags> CLASS =
- com.android.tools.r8.keepanno.annotations.FieldAccessFlags.class;
+ public static final String SIMPLE_NAME = "FieldAccessFlags";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/FieldAccessFlags;";
public static final String VOLATILE = "VOLATILE";
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 2dd8323..6965317 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
@@ -7,7 +7,6 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.cfmethodgeneration.CodeGenerationBase;
-import com.android.tools.r8.examples.sync.Sync.Consumer;
import com.android.tools.r8.keepanno.annotations.CheckOptimizedOut;
import com.android.tools.r8.keepanno.annotations.CheckRemoved;
import com.android.tools.r8.keepanno.annotations.FieldAccessFlags;
@@ -39,6 +38,7 @@
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
+import java.util.function.Consumer;
public class KeepItemAnnotationGenerator {
@@ -940,9 +940,9 @@
}
private void generateAnnotationConstants(Class<?> clazz) {
- String name = clazz.getName();
+ String name = simpleName(clazz);
String desc = TestBase.descriptor(clazz);
- println("public static final Class<" + name + "> CLASS = " + name + ".class;");
+ println("public static final String SIMPLE_NAME = " + quote(name) + ";");
println("public static final String DESCRIPTOR = " + quote(desc) + ";");
}