Remove redundant pinned checks in vertical class merger

Change-Id: I71590731f63b50f9ded256880ee1132376104fbf
diff --git a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
index 4dc15ab..1e6b0ee 100644
--- a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
+++ b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
@@ -49,6 +49,7 @@
 import com.google.common.base.Equivalence.Wrapper;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Iterables;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 import com.google.common.collect.Streams;
@@ -378,6 +379,11 @@
         || appInfo.neverMerge.contains(clazz.type)) {
       return false;
     }
+
+    assert Streams.stream(Iterables.concat(clazz.fields(), clazz.methods()))
+        .map(KeyedDexItem::getKey)
+        .noneMatch(appInfo::isPinned);
+
     if (appView.options().featureSplitConfiguration != null &&
         appView.options().featureSplitConfiguration.isInFeature(clazz)) {
       // TODO(b/141452765): Allow class merging between classes in features.
@@ -410,15 +416,7 @@
       //     * Have access to the no-arg constructor of its first non-serializable superclass
       return false;
     }
-    for (DexEncodedField field : clazz.fields()) {
-      if (appInfo.isPinned(field.field)) {
-        return false;
-      }
-    }
-    for (DexEncodedMethod method : clazz.methods()) {
-      if (appInfo.isPinned(method.method)) {
-        return false;
-      }
+    for (DexEncodedMethod method : clazz.directMethods()) {
       if (method.isInstanceInitializer() && disallowInlining(method, singleSubtype)) {
         // Cannot guarantee that markForceInline() will work.
         if (Log.ENABLED) {