Version 1.5.57

Cherry-pick: Don't rebind within the library
CL: https://r8-review.googlesource.com/c/r8/+/40314

Removed the test as it used features not available on the 1.5 branch.

Bug: 135627418
Change-Id: If7a14939f25d4f892bd8c32d58179c2007280d67
diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java
index 66708d9..f8c0fef 100644
--- a/src/main/java/com/android/tools/r8/Version.java
+++ b/src/main/java/com/android/tools/r8/Version.java
@@ -11,7 +11,7 @@
 
   // This field is accessed from release scripts using simple pattern matching.
   // Therefore, changing this field could break our release scripts.
-  public static final String LABEL = "1.5.56";
+  public static final String LABEL = "1.5.57";
 
   private Version() {
   }
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java b/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
index 7650fe7..b42cd39 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
@@ -619,7 +619,10 @@
       // Most likely due to a missing class, or invoke is already as specific as it gets.
       return target;
     }
-    if (!canInvokeTargetWithInvokeVirtual(newTarget)
+    DexClass newTargetClass = appView.definitionFor(newTarget.method.holder);
+    if (newTargetClass == null
+        || newTargetClass.isLibraryClass()
+        || !canInvokeTargetWithInvokeVirtual(newTarget)
         || !hasAccessToInvokeTargetFromContext(newTarget, context)) {
       // Not safe to invoke `newTarget` with virtual invoke from the current context.
       return target;