Remove dead test code
Change-Id: I052fa6094360c465c7f3ad5dea3df195e7e3f141
diff --git a/src/test/java/com/android/tools/r8/keepanno/testsource/KeepClassAndDefaultConstructorSource.java b/src/test/java/com/android/tools/r8/keepanno/testsource/KeepClassAndDefaultConstructorSource.java
deleted file mode 100644
index b9fb2b6..0000000
--- a/src/test/java/com/android/tools/r8/keepanno/testsource/KeepClassAndDefaultConstructorSource.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (c) 2022, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-package com.android.tools.r8.keepanno.testsource;
-
-import com.android.tools.r8.keepanno.annotations.KeepEdge;
-import com.android.tools.r8.keepanno.annotations.KeepTarget;
-
-@KeepEdge(
- consequences = {
- // Keep the class to allow lookup of it.
- @KeepTarget(classConstant = KeepClassAndDefaultConstructorSource.A.class),
- // Keep the default constructor.
- @KeepTarget(
- classConstant = KeepClassAndDefaultConstructorSource.A.class,
- methodName = "<init>")
- })
-public class KeepClassAndDefaultConstructorSource {
-
- public static class A {
- public A() {
- System.out.println("A is alive!");
- }
- }
-
- public static void main(String[] args) throws Exception {
- Class<?> aClass =
- Class.forName(
- KeepClassAndDefaultConstructorSource.class.getPackage().getName()
- + (args.length > 0 ? ".." : ".")
- + "KeepClassAndDefaultConstructorSource$A");
- aClass.getDeclaredConstructor().newInstance();
- }
-}
diff --git a/src/test/java/com/android/tools/r8/keepanno/testsource/KeepDependentFieldSource.java b/src/test/java/com/android/tools/r8/keepanno/testsource/KeepDependentFieldSource.java
deleted file mode 100644
index 4a0df32..0000000
--- a/src/test/java/com/android/tools/r8/keepanno/testsource/KeepDependentFieldSource.java
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright (c) 2022, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-package com.android.tools.r8.keepanno.testsource;
-
-import com.android.tools.r8.keepanno.annotations.KeepCondition;
-import com.android.tools.r8.keepanno.annotations.KeepEdge;
-import com.android.tools.r8.keepanno.annotations.KeepTarget;
-import java.lang.reflect.Field;
-
-public class KeepDependentFieldSource {
-
- public static class A {
-
- public int f;
-
- public A(int x) {
- f = x;
- }
- }
-
- // The keep edge is context independent, but natural to place close to the reflection usage.
- @KeepEdge(
- preconditions = {
- // The edge is only needed if the main method that uses reflection is actually present.
- @KeepCondition(classConstant = KeepDependentFieldSource.class, methodName = "main")
- },
- consequences = {
- // Keep the reflectively accessed field.
- @KeepTarget(classConstant = KeepDependentFieldSource.A.class, fieldName = "f")
- })
- public static void main(String[] args) throws Exception {
- int x = 42 + args.length;
- Object o = System.nanoTime() > 0 ? new A(x) : null;
- Field f = o.getClass().getDeclaredField("f");
- int y = f.getInt(o);
- if (x == y) {
- System.out.println("The values match!");
- }
- }
-}
diff --git a/src/test/java/com/android/tools/r8/keepanno/testsource/KeepFieldSource.java b/src/test/java/com/android/tools/r8/keepanno/testsource/KeepFieldSource.java
deleted file mode 100644
index 6f577e4..0000000
--- a/src/test/java/com/android/tools/r8/keepanno/testsource/KeepFieldSource.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright (c) 2022, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-package com.android.tools.r8.keepanno.testsource;
-
-import com.android.tools.r8.keepanno.annotations.KeepEdge;
-import com.android.tools.r8.keepanno.annotations.KeepTarget;
-import java.lang.reflect.Field;
-
-@KeepEdge(
- consequences = {
- // Keep the reflectively accessed field.
- @KeepTarget(classConstant = KeepFieldSource.A.class, fieldName = "f")
- })
-public class KeepFieldSource {
-
- public static class A {
-
- public int f;
-
- public A(int x) {
- f = x;
- }
- }
-
- public static void main(String[] args) throws Exception {
- int x = 42 + args.length;
- Object o = System.nanoTime() > 0 ? new A(x) : null;
- Field f = o.getClass().getDeclaredField("f");
- int y = f.getInt(o);
- if (x == y) {
- System.out.println("The values match!");
- }
- }
-}
diff --git a/src/test/java/com/android/tools/r8/keepanno/testsource/KeepSourceEdges.java b/src/test/java/com/android/tools/r8/keepanno/testsource/KeepSourceEdges.java
deleted file mode 100644
index 0b2265a..0000000
--- a/src/test/java/com/android/tools/r8/keepanno/testsource/KeepSourceEdges.java
+++ /dev/null
@@ -1,174 +0,0 @@
-// Copyright (c) 2022, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-package com.android.tools.r8.keepanno.testsource;
-
-import com.android.tools.r8.keepanno.ast.KeepClassItemPattern;
-import com.android.tools.r8.keepanno.ast.KeepClassItemReference;
-import com.android.tools.r8.keepanno.ast.KeepCondition;
-import com.android.tools.r8.keepanno.ast.KeepConsequences;
-import com.android.tools.r8.keepanno.ast.KeepConsequences.Builder;
-import com.android.tools.r8.keepanno.ast.KeepEdge;
-import com.android.tools.r8.keepanno.ast.KeepFieldNamePattern;
-import com.android.tools.r8.keepanno.ast.KeepFieldPattern;
-import com.android.tools.r8.keepanno.ast.KeepItemPattern;
-import com.android.tools.r8.keepanno.ast.KeepMemberItemPattern;
-import com.android.tools.r8.keepanno.ast.KeepMethodNamePattern;
-import com.android.tools.r8.keepanno.ast.KeepMethodPattern;
-import com.android.tools.r8.keepanno.ast.KeepPreconditions;
-import com.android.tools.r8.keepanno.ast.KeepQualifiedClassNamePattern;
-import com.android.tools.r8.keepanno.ast.KeepTarget;
-import com.android.tools.r8.utils.StringUtils;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * Utility to get the AST edges for the various annotation test sources.
- *
- * <p>This makes it easier to share the test sources among tests (e.g., processor and asm tests).
- */
-public class KeepSourceEdges {
-
- private static class SourceData {
- final Class<?> clazz;
- final String expected;
- final List<KeepEdge> edges;
-
- public SourceData(Class<?> clazz, String expected, List<KeepEdge> edges) {
- this.clazz = clazz;
- this.expected = expected;
- this.edges = edges;
- }
- }
-
- private static final List<SourceData> SOURCES = new ArrayList<>();
-
- static {
- SOURCES.add(
- new SourceData(
- KeepClassAndDefaultConstructorSource.class,
- getKeepClassAndDefaultConstructorSourceExpected(),
- getKeepClassAndDefaultConstructorSourceEdges()));
- SOURCES.add(
- new SourceData(
- KeepFieldSource.class, getKeepFieldSourceExpected(), getKeepFieldSourceEdges()));
- SOURCES.add(
- new SourceData(
- KeepDependentFieldSource.class,
- getKeepDependentFieldSourceExpected(),
- getKeepDependentFieldSourceEdges()));
- }
-
- public static List<KeepEdge> getExpectedEdges(Class<?> clazz) {
- for (SourceData source : SOURCES) {
- if (source.clazz == clazz) {
- return source.edges;
- }
- }
- throw new RuntimeException();
- }
-
- public static String getExpected(Class<?> clazz) {
- for (SourceData source : SOURCES) {
- if (source.clazz == clazz) {
- return source.expected;
- }
- }
- throw new RuntimeException();
- }
-
- public static String getKeepClassAndDefaultConstructorSourceExpected() {
- return StringUtils.lines("A is alive!");
- }
-
- public static List<KeepEdge> getKeepClassAndDefaultConstructorSourceEdges() {
- Class<?> clazz = KeepClassAndDefaultConstructorSource.A.class;
- return Collections.singletonList(
- mkEdge(mkConsequences(mkTarget(mkClass(clazz)), mkTarget(mkMethod(clazz, "<init>")))));
- }
-
- public static String getKeepFieldSourceExpected() {
- return StringUtils.lines("The values match!");
- }
-
- public static List<KeepEdge> getKeepFieldSourceEdges() {
- return Collections.singletonList(
- mkEdge(mkConsequences(mkTarget(mkField(KeepFieldSource.A.class, "f")))));
- }
-
- public static String getKeepDependentFieldSourceExpected() {
- return getKeepFieldSourceExpected();
- }
-
- public static List<KeepEdge> getKeepDependentFieldSourceEdges() {
- return Collections.singletonList(
- mkDepEdge(
- mkPreconditions(mkCondition(mkMethod(KeepDependentFieldSource.class, "main"))),
- mkConsequences(mkTarget(mkField(KeepDependentFieldSource.A.class, "f")))));
- }
-
- // Ast helpers.
-
- static KeepClassItemPattern mkClass(Class<?> clazz) {
- KeepQualifiedClassNamePattern name = KeepQualifiedClassNamePattern.exact(clazz.getTypeName());
- return KeepClassItemPattern.builder().setClassNamePattern(name).build();
- }
-
- static KeepMemberItemPattern mkMethod(Class<?> clazz, String methodName) {
- KeepQualifiedClassNamePattern name = KeepQualifiedClassNamePattern.exact(clazz.getTypeName());
- KeepClassItemReference classReference =
- KeepClassItemPattern.builder().setClassNamePattern(name).build().toClassItemReference();
- KeepMethodPattern methodPattern =
- KeepMethodPattern.builder().setNamePattern(KeepMethodNamePattern.exact(methodName)).build();
- KeepMemberItemPattern methodItem =
- KeepMemberItemPattern.builder()
- .setClassReference(classReference)
- .setMemberPattern(methodPattern)
- .build();
- return methodItem;
- }
-
- static KeepItemPattern mkField(Class<?> clazz, String fieldName) {
- KeepQualifiedClassNamePattern name = KeepQualifiedClassNamePattern.exact(clazz.getTypeName());
- KeepClassItemReference classReference =
- KeepClassItemPattern.builder().setClassNamePattern(name).build().toClassItemReference();
- KeepFieldPattern fieldPattern =
- KeepFieldPattern.builder().setNamePattern(KeepFieldNamePattern.exact(fieldName)).build();
- KeepMemberItemPattern fieldItem =
- KeepMemberItemPattern.builder()
- .setClassReference(classReference)
- .setMemberPattern(fieldPattern)
- .build();
- return fieldItem;
- }
-
- static KeepTarget mkTarget(KeepItemPattern item) {
- return KeepTarget.builder().setItemPattern(item).build();
- }
-
- static KeepCondition mkCondition(KeepItemPattern item) {
- return KeepCondition.builder().setItemPattern(item).build();
- }
-
- static KeepConsequences mkConsequences(KeepTarget... targets) {
- Builder builder = KeepConsequences.builder();
- Arrays.asList(targets).forEach(builder::addTarget);
- return builder.build();
- }
-
- static KeepPreconditions mkPreconditions(KeepCondition... conditions) {
- KeepPreconditions.Builder builder = KeepPreconditions.builder();
- Arrays.asList(conditions).forEach(builder::addCondition);
- return builder.build();
- }
-
- static KeepEdge mkEdge(KeepConsequences consequences) {
- return KeepEdge.builder().setConsequences(consequences).build();
- }
-
- static KeepEdge mkDepEdge(KeepPreconditions preconditions, KeepConsequences consequences) {
- return KeepEdge.builder().setPreconditions(preconditions).setConsequences(consequences).build();
- }
-}