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;