Compute the correct "isPinned" in synthetic groups.

Change-Id: I4d093e90d575a9787132e3ae06f2861dcd53b632
diff --git a/src/main/java/com/android/tools/r8/synthesis/SyntheticFinalization.java b/src/main/java/com/android/tools/r8/synthesis/SyntheticFinalization.java
index cfb078e..527cec3 100644
--- a/src/main/java/com/android/tools/r8/synthesis/SyntheticFinalization.java
+++ b/src/main/java/com/android/tools/r8/synthesis/SyntheticFinalization.java
@@ -670,7 +670,8 @@
     // Each other member is in a shared group if it is actually equivalent to the first member.
     for (T synthetic : potentialEquivalence) {
       if (groups.size() > GROUP_COUNT_THRESHOLD) {
-        return ListUtils.map(potentialEquivalence, m -> new EquivalenceGroup<>(m, true));
+        return ListUtils.map(
+            potentialEquivalence, m -> new EquivalenceGroup<>(m, isPinned(appView, m)));
       }
       boolean mustBeRepresentative = isPinned(appView, synthetic);
       EquivalenceGroup<T> equivalenceGroup = null;