Remove obsolete assertion during AppInfoWithLiveness rewriting

Change-Id: I9ecaa633d7b4d1fa20a7b1ee497e1ca4bbaf6a75
diff --git a/src/main/java/com/android/tools/r8/ir/analysis/proto/GeneratedMessageLiteBuilderShrinker.java b/src/main/java/com/android/tools/r8/ir/analysis/proto/GeneratedMessageLiteBuilderShrinker.java
index c2cd2aa..c589048 100644
--- a/src/main/java/com/android/tools/r8/ir/analysis/proto/GeneratedMessageLiteBuilderShrinker.java
+++ b/src/main/java/com/android/tools/r8/ir/analysis/proto/GeneratedMessageLiteBuilderShrinker.java
@@ -394,8 +394,9 @@
     void extend(SubtypingInfo subtypingInfo) {
       alwaysClassInlineGeneratedMessageLiteBuilders();
 
-      // GeneratedMessageLite heuristics.
+      // MessageLite and GeneratedMessageLite heuristics.
       alwaysInlineCreateBuilderFromGeneratedMessageLite();
+      neverMergeMessageLite();
 
       // * extends GeneratedMessageLite heuristics.
       bypassClinitforInliningNewBuilderMethods(subtypingInfo);
@@ -442,5 +443,11 @@
       neverMerge.add(references.generatedMessageLiteBuilderType);
       neverMerge.add(references.generatedMessageLiteExtendableBuilderType);
     }
+
+    private void neverMergeMessageLite() {
+      // MessageLite is used in several signatures that we use for recognizing methods, so don't
+      // allow it to me merged.
+      neverMerge.add(references.messageLiteType);
+    }
   }
 }
diff --git a/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java b/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
index 5d5a16e..87bfd9a 100644
--- a/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
+++ b/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
@@ -987,12 +987,6 @@
             .filter(AssertionUtils::assertNotNull)
             .collect(Collectors.toList()));
 
-    assert lens.assertDefinitionsNotModified(
-        alwaysInline.stream()
-            .map(method -> method.lookupOnClass(definitionForHolder(method)))
-            .filter(AssertionUtils::assertNotNull)
-            .collect(Collectors.toList()));
-
     return new AppInfoWithLiveness(
         application,
         deadProtoTypes,
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 2b06548..bd3b4f8 100644
--- a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
+++ b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
@@ -49,7 +49,6 @@
 import com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode;
 import com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode;
 import com.android.tools.r8.logging.Log;
-import com.android.tools.r8.utils.AssertionUtils;
 import com.android.tools.r8.utils.Box;
 import com.android.tools.r8.utils.FieldSignatureEquivalence;
 import com.android.tools.r8.utils.MethodSignatureEquivalence;
@@ -82,7 +81,6 @@
 import java.util.function.Consumer;
 import java.util.function.Function;
 import java.util.function.Predicate;
-import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 /**
@@ -280,11 +278,6 @@
     appInfo.getKeepInfo().forEachPinnedField(pinnedItems::add);
     extractPinnedItems(pinnedItems, AbortReason.PINNED_SOURCE);
 
-    // TODO(christofferqa): Remove the invariant that the graph lense should not modify any
-    // methods from the sets alwaysInline and noSideEffects (see use of assertNotModified).
-    extractPinnedItems(appInfo.alwaysInline, AbortReason.ALWAYS_INLINE);
-    extractPinnedItems(appInfo.noSideEffects.keySet(), AbortReason.NO_SIDE_EFFECTS);
-
     for (DexProgramClass clazz : classes) {
       for (DexEncodedMethod method : clazz.methods()) {
         if (method.accessFlags.isNative()) {
@@ -653,14 +646,6 @@
   }
 
   private boolean verifyGraphLens(VerticalClassMergerGraphLense graphLense) {
-    assert graphLense.assertDefinitionsNotModified(
-        appInfo.alwaysInline.stream()
-            .map(method -> method.lookupOnClass(appView.definitionForHolder(method)))
-            .filter(AssertionUtils::assertNotNull)
-            .collect(Collectors.toList()));
-
-    assert graphLense.assertReferencesNotModified(appInfo.noSideEffects.keySet());
-
     // Note that the method assertReferencesNotModified() relies on getRenamedFieldSignature() and
     // getRenamedMethodSignature() instead of lookupField() and lookupMethod(). This is important
     // for this check to succeed, since it is not guaranteed that calling lookupMethod() with a