Use initial instead of resolvedHolder when finding dispatch targets
The non-dertiminism seems to be removed by the changes in the
enqueuer.
Bug: 150171154
Change-Id: I4b1b5a9ae728b6b0b76270425cf391e2a48d9b65
diff --git a/src/main/java/com/android/tools/r8/graph/ResolutionResult.java b/src/main/java/com/android/tools/r8/graph/ResolutionResult.java
index 85904cd..f9cea40 100644
--- a/src/main/java/com/android/tools/r8/graph/ResolutionResult.java
+++ b/src/main/java/com/android/tools/r8/graph/ResolutionResult.java
@@ -367,9 +367,8 @@
Map<DexEncodedMethod, DexClassAndMethod> methodTargets = new IdentityHashMap<>();
List<LookupLambdaTarget> lambdaTargets = new ArrayList<>();
LookupCompletenessHelper incompleteness = new LookupCompletenessHelper(pinnedPredicate);
- // TODO(b/150171154): Use instantiationHolder below.
instantiatedInfo.forEachInstantiatedSubType(
- resolvedHolder.type,
+ initialResolutionHolder.type,
subClass -> {
incompleteness.checkClass(subClass);
DexClassAndMethod dexClassAndMethod =
diff --git a/src/test/java/com/android/tools/r8/resolution/virtualtargets/KeptTargetsIncompleteLookupTest.java b/src/test/java/com/android/tools/r8/resolution/virtualtargets/KeptTargetsIncompleteLookupTest.java
index 4da99d1..b2e57b2 100644
--- a/src/test/java/com/android/tools/r8/resolution/virtualtargets/KeptTargetsIncompleteLookupTest.java
+++ b/src/test/java/com/android/tools/r8/resolution/virtualtargets/KeptTargetsIncompleteLookupTest.java
@@ -242,7 +242,7 @@
classB,
appInfo,
(type, subTypeConsumer, callSiteConsumer) -> {
- if (type == typeA) {
+ if (type == typeB) {
subTypeConsumer.accept(classB);
}
},