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;