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);
   }