Disable constructor bridge removal
Bug: b/324527514
Change-Id: Ic3e2759a3f74cda6a7fd7fbdfc4a2465d299a0fd
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index 222ab99..8e9e3e1 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -3179,7 +3179,10 @@
}
public boolean canHaveNonReboundConstructorInvoke() {
- return isGeneratingDex() && minApiLevel.isGreaterThanOrEqualTo(AndroidApiLevel.L);
+ // TODO(b/324527514): Supported on API level L and higher, but we currently do not allow
+ // non-rebound constructors since we need to account for non-rebound method references when
+ // looking for fresh constructor signatures.
+ return false;
}
// b/238399429 Some art 6 vms have issues with multiple monitors in the same method
@@ -3195,6 +3198,6 @@
}
public boolean canInitNewInstanceUsingSuperclassConstructor() {
- return canHaveNonReboundConstructorInvoke();
+ return isGeneratingDex() && minApiLevel.isGreaterThanOrEqualTo(AndroidApiLevel.L);
}
}