Revert "Remove containment check and assert class is instantiated if pinned"
This reverts commit 5089087f855bd27b879a3c57b7cfc8b3517e577b.
Reason for revert: assert does not hold, can't build R8 lib
Change-Id: I42ed387201677d637d0d08632db4177fbecf206b
diff --git a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
index 9efd5c1..cd9db29 100644
--- a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
+++ b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
@@ -2083,13 +2083,15 @@
return;
}
- if (instantiatedTypes.contains(clazz) || instantiatedInterfaceTypes.contains(clazz)) {
+ // TODO(mkroghj): Remove pinnedItems check here.
+ if (instantiatedTypes.contains(clazz)
+ || instantiatedInterfaceTypes.contains(clazz)
+ || pinnedItems.contains(clazz.type)) {
markVirtualMethodAsLive(
clazz,
encodedPossibleTarget,
graphReporter.reportReachableMethodAsLive(encodedPossibleTarget, reason));
} else {
- assert !pinnedItems.contains(clazz.type);
Deque<DexType> worklist =
new ArrayDeque<>(appInfo.allImmediateSubtypes(possibleTarget.holder));
while (!worklist.isEmpty()) {