Update broken assertions involving GraphLense.assertNotModified
Commit be26c195174b17dca904e22048508c1cce705046 updated the type of the alwaysInline set from Set<DexItem> (containing DexEncodedMethod objects) to Set<DexMethod>.
The method GraphLense.assertNotModified() expects an Iterable containing DexClass, DexEncodedField, or DexEncodedMethod objects. This CL therefore updates the places where the alwaysInline set is passed to assertNotModified.
Change-Id: I517fcc002ae664d599e7a5f6d3b1a051c9658989
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 64387ce..27d3d3b 100644
--- a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
+++ b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
@@ -1827,7 +1827,9 @@
this.noSideEffects = previous.noSideEffects;
assert lense.assertNotModified(previous.assumedValues.keySet());
this.assumedValues = previous.assumedValues;
- assert lense.assertNotModified(previous.alwaysInline);
+ assert lense.assertNotModified(
+ previous.alwaysInline.stream().map(this::definitionFor).filter(Objects::nonNull)
+ .collect(Collectors.toList()));
this.alwaysInline = previous.alwaysInline;
this.forceInline = rewriteMethodsWithRenamedSignature(previous.forceInline, lense);
this.neverInline = rewriteMethodsWithRenamedSignature(previous.neverInline, lense);
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 a2dd383..8dec498 100644
--- a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
+++ b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
@@ -61,10 +61,12 @@
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.function.Predicate;
+import java.util.stream.Collectors;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.tree.MethodNode;
@@ -542,7 +544,13 @@
timing.begin("fixup");
GraphLense result = new TreeFixer().fixupTypeReferences(mergingGraphLense);
timing.end();
- assert result.assertNotModified(appInfo.alwaysInline);
+ assert result.assertNotModified(
+ appInfo
+ .alwaysInline
+ .stream()
+ .map(appInfo::definitionFor)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toList()));
assert result.assertNotModified(appInfo.noSideEffects.keySet());
// TODO(christofferqa): Enable this assert.
// assert result.assertNotModified(appInfo.pinnedItems);