Disallow merging of classes referenced from failing method resolutions
Bug: 214079809
Change-Id: I68cb32fe4e436bcf5bc63524b6f2f33bac68028d
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 c607e30..d4b2e60 100644
--- a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
+++ b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
@@ -324,9 +324,8 @@
// The set of targets that must remain for proper resolution error cases should not be merged.
// TODO(b/192821424): Can be removed if handled.
- for (DexMethod method : appInfo.getFailedMethodResolutionTargets()) {
- markTypeAsPinned(method.holder, AbortReason.RESOLUTION_FOR_METHODS_MAY_CHANGE);
- }
+ extractPinnedItems(
+ appInfo.getFailedMethodResolutionTargets(), AbortReason.RESOLUTION_FOR_METHODS_MAY_CHANGE);
}
private <T extends DexReference> void extractPinnedItems(Iterable<T> items, AbortReason reason) {