Update R8GMSCoreLookupTest to not include abstract targets
Change-Id: I8e1edc0ec50945d4ecb8420674c3a1b049e8b31c
diff --git a/src/test/java/com/android/tools/r8/internal/R8GMSCoreLookupTest.java b/src/test/java/com/android/tools/r8/internal/R8GMSCoreLookupTest.java
index d4cec12..6c5c828 100644
--- a/src/test/java/com/android/tools/r8/internal/R8GMSCoreLookupTest.java
+++ b/src/test/java/com/android/tools/r8/internal/R8GMSCoreLookupTest.java
@@ -4,7 +4,6 @@
package com.android.tools.r8.internal;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import com.android.tools.r8.StringResource;
@@ -26,6 +25,7 @@
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import java.util.stream.Collectors;
import org.junit.Before;
import org.junit.Test;
@@ -68,12 +68,22 @@
Set<DexEncodedMethod> targets = appInfo.lookupInterfaceTargets(method.method);
if (appInfo.subtypes(method.method.holder).stream()
.allMatch(t -> appInfo.definitionFor(t).isInterface())) {
- assertTrue(targets.isEmpty());
+ assertTrue(
+ targets.stream()
+ .filter(m -> m.accessFlags.isAbstract() || !m.accessFlags.isBridge())
+ .collect(Collectors.toSet())
+ .isEmpty());
} else {
- assertFalse(targets.isEmpty());
+ assertTrue(
+ targets.stream()
+ .filter(m -> m.accessFlags.isAbstract())
+ .collect(Collectors.toSet())
+ .isEmpty());
}
}
+
+
private void testLookup(DexProgramClass clazz) {
if (clazz.isInterface()) {
for (DexEncodedMethod method : clazz.virtualMethods()) {