Update LibraryMemberRebindingInterfaceTest to set api level for method

Change-Id: Id6a3807cef5732716cda4dcad72a91bbc8dd83bd
diff --git a/src/test/java/com/android/tools/r8/apimodel/ApiModelingTestHelper.java b/src/test/java/com/android/tools/r8/apimodel/ApiModelingTestHelper.java
index f11b7a1..ed2343a 100644
--- a/src/test/java/com/android/tools/r8/apimodel/ApiModelingTestHelper.java
+++ b/src/test/java/com/android/tools/r8/apimodel/ApiModelingTestHelper.java
@@ -49,6 +49,17 @@
 
   public static <T extends TestCompilerBuilder<?, ?, ?, ?, ?>>
       ThrowableConsumer<T> setMockApiLevelForMethod(
+          MethodReference method, AndroidApiLevel apiLevel) {
+    return compilerBuilder -> {
+      compilerBuilder.addOptionsModification(
+          options -> {
+            options.apiModelingOptions().methodApiMapping.put(method, apiLevel);
+          });
+    };
+  }
+
+  public static <T extends TestCompilerBuilder<?, ?, ?, ?, ?>>
+      ThrowableConsumer<T> setMockApiLevelForMethod(
           Constructor<?> constructor, AndroidApiLevel apiLevel) {
     return compilerBuilder -> {
       compilerBuilder.addOptionsModification(
diff --git a/src/test/java/com/android/tools/r8/memberrebinding/LibraryMemberRebindingInterfaceTest.java b/src/test/java/com/android/tools/r8/memberrebinding/LibraryMemberRebindingInterfaceTest.java
index 29a2fce..e472056 100644
--- a/src/test/java/com/android/tools/r8/memberrebinding/LibraryMemberRebindingInterfaceTest.java
+++ b/src/test/java/com/android/tools/r8/memberrebinding/LibraryMemberRebindingInterfaceTest.java
@@ -13,10 +13,13 @@
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.TestParametersCollection;
+import com.android.tools.r8.references.MethodReference;
+import com.android.tools.r8.references.Reference;
 import com.android.tools.r8.utils.AndroidApiLevel;
 import com.android.tools.r8.utils.codeinspector.MethodSubject;
 import com.google.common.collect.ImmutableList;
 import java.io.IOException;
+import java.lang.reflect.Method;
 import java.nio.file.Path;
 import java.util.Collection;
 import org.junit.BeforeClass;
@@ -75,12 +78,24 @@
   }
 
   private void test(Path compileTimeLibrary, Path runtimeLibrary) throws Exception {
+    Method m = LibraryI.class.getDeclaredMethod("m");
+    MethodReference methodReferenceForM = Reference.methodFromMethod(m);
     testForR8(parameters.getBackend())
         .addProgramClasses(Main.class)
         .addKeepClassAndMembersRules(Main.class)
         .addLibraryFiles(compileTimeLibrary)
         .addDefaultRuntimeLibrary(parameters)
-        .apply(setMockApiLevelForMethod(LibraryI.class.getDeclaredMethod("m"), AndroidApiLevel.B))
+        .apply(setMockApiLevelForMethod(m, AndroidApiLevel.B))
+        // The api database needs to have an api level for each target, so even though B do not
+        // define 'm', we still give it an API level.
+        .apply(
+            setMockApiLevelForMethod(
+                Reference.method(
+                    Reference.classFromClass(LibraryB.class),
+                    methodReferenceForM.getMethodName(),
+                    methodReferenceForM.getFormalTypes(),
+                    methodReferenceForM.getReturnType()),
+                AndroidApiLevel.B))
         .apply(setMockApiLevelForMethod(LibraryC.class.getDeclaredMethod("m"), AndroidApiLevel.B))
         .apply(setMockApiLevelForMethod(LibraryA.class.getDeclaredMethod("m"), AndroidApiLevel.N))
         .setMinApi(parameters.getApiLevel())