Add tests for missing classes from library fields and methods
Bug: 180373332
Bug: 179466825
Change-Id: Iff446d35b4f6bf210964afc3d1cc4091368ae77d
diff --git a/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryMethodReturnTest.java b/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryInstanceFieldTest.java
similarity index 84%
copy from src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryMethodReturnTest.java
copy to src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryInstanceFieldTest.java
index 7e2e694..6e06815 100644
--- a/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryMethodReturnTest.java
+++ b/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryInstanceFieldTest.java
@@ -11,21 +11,19 @@
import com.android.tools.r8.TestDiagnosticMessages;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.ThrowableConsumer;
-import com.android.tools.r8.references.MethodReference;
+import com.android.tools.r8.references.FieldReference;
import com.android.tools.r8.references.Reference;
-import com.google.common.collect.ImmutableList;
import org.junit.Test;
-public class MissingClassReferencedFromLibraryMethodReturnTest extends MissingClassesTestBase {
+public class MissingClassReferencedFromLibraryInstanceFieldTest extends MissingClassesTestBase {
- private static final MethodReference referencedFrom =
- Reference.method(
+ private static final FieldReference referencedFrom =
+ Reference.field(
Reference.classFromClass(Library.class),
- "method",
- ImmutableList.of(),
+ "field",
Reference.classFromClass(MissingClass.class));
- public MissingClassReferencedFromLibraryMethodReturnTest(TestParameters parameters) {
+ public MissingClassReferencedFromLibraryInstanceFieldTest(TestParameters parameters) {
super(parameters);
}
@@ -85,8 +83,6 @@
public static class Library {
- public MissingClass method() {
- return null;
- }
+ public MissingClass field;
}
}
diff --git a/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryMethodReturnTest.java b/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryStaticFieldTest.java
similarity index 84%
copy from src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryMethodReturnTest.java
copy to src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryStaticFieldTest.java
index 7e2e694..442f89f 100644
--- a/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryMethodReturnTest.java
+++ b/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryStaticFieldTest.java
@@ -11,21 +11,19 @@
import com.android.tools.r8.TestDiagnosticMessages;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.ThrowableConsumer;
-import com.android.tools.r8.references.MethodReference;
+import com.android.tools.r8.references.FieldReference;
import com.android.tools.r8.references.Reference;
-import com.google.common.collect.ImmutableList;
import org.junit.Test;
-public class MissingClassReferencedFromLibraryMethodReturnTest extends MissingClassesTestBase {
+public class MissingClassReferencedFromLibraryStaticFieldTest extends MissingClassesTestBase {
- private static final MethodReference referencedFrom =
- Reference.method(
+ private static final FieldReference referencedFrom =
+ Reference.field(
Reference.classFromClass(Library.class),
- "method",
- ImmutableList.of(),
+ "field",
Reference.classFromClass(MissingClass.class));
- public MissingClassReferencedFromLibraryMethodReturnTest(TestParameters parameters) {
+ public MissingClassReferencedFromLibraryStaticFieldTest(TestParameters parameters) {
super(parameters);
}
@@ -85,8 +83,6 @@
public static class Library {
- public MissingClass method() {
- return null;
- }
+ public static MissingClass field;
}
}
diff --git a/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryMethodReturnTest.java b/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryVirtualMethodParameterTest.java
similarity index 88%
copy from src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryMethodReturnTest.java
copy to src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryVirtualMethodParameterTest.java
index 7e2e694..1858f8e 100644
--- a/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryMethodReturnTest.java
+++ b/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryVirtualMethodParameterTest.java
@@ -16,16 +16,17 @@
import com.google.common.collect.ImmutableList;
import org.junit.Test;
-public class MissingClassReferencedFromLibraryMethodReturnTest extends MissingClassesTestBase {
+public class MissingClassReferencedFromLibraryVirtualMethodParameterTest
+ extends MissingClassesTestBase {
private static final MethodReference referencedFrom =
Reference.method(
Reference.classFromClass(Library.class),
"method",
- ImmutableList.of(),
- Reference.classFromClass(MissingClass.class));
+ ImmutableList.of(Reference.classFromClass(MissingClass.class)),
+ null);
- public MissingClassReferencedFromLibraryMethodReturnTest(TestParameters parameters) {
+ public MissingClassReferencedFromLibraryVirtualMethodParameterTest(TestParameters parameters) {
super(parameters);
}
@@ -85,8 +86,6 @@
public static class Library {
- public MissingClass method() {
- return null;
- }
+ public void method(MissingClass mc) {}
}
}
diff --git a/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryMethodReturnTest.java b/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryVirtualMethodReturnTest.java
similarity index 93%
rename from src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryMethodReturnTest.java
rename to src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryVirtualMethodReturnTest.java
index 7e2e694..65e2f0e 100644
--- a/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryMethodReturnTest.java
+++ b/src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromLibraryVirtualMethodReturnTest.java
@@ -16,7 +16,8 @@
import com.google.common.collect.ImmutableList;
import org.junit.Test;
-public class MissingClassReferencedFromLibraryMethodReturnTest extends MissingClassesTestBase {
+public class MissingClassReferencedFromLibraryVirtualMethodReturnTest
+ extends MissingClassesTestBase {
private static final MethodReference referencedFrom =
Reference.method(
@@ -25,7 +26,7 @@
ImmutableList.of(),
Reference.classFromClass(MissingClass.class));
- public MissingClassReferencedFromLibraryMethodReturnTest(TestParameters parameters) {
+ public MissingClassReferencedFromLibraryVirtualMethodReturnTest(TestParameters parameters) {
super(parameters);
}