Allow abstract methods on non-abstract classes
Bug: 144886554
Change-Id: I359c37f8a7dcb863f5b1f3d695267bf0add16a37
diff --git a/src/main/java/com/android/tools/r8/shaking/TreePruner.java b/src/main/java/com/android/tools/r8/shaking/TreePruner.java
index af0efe5..e7a7fe5 100644
--- a/src/main/java/com/android/tools/r8/shaking/TreePruner.java
+++ b/src/main/java/com/android/tools/r8/shaking/TreePruner.java
@@ -289,7 +289,8 @@
// Final classes cannot be abstract, so we have to keep the method in that case.
// Also some other kinds of methods cannot be abstract, so keep them around.
boolean allowAbstract =
- clazz.accessFlags.isAbstract()
+ (!options.canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug()
+ || clazz.accessFlags.isAbstract())
&& !method.accessFlags.isFinal()
&& !method.accessFlags.isNative()
&& !method.accessFlags.isStrict()