Merge "Only add keep rule when there is a default ctor"
diff --git a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
index d718026..19fe18e 100644
--- a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
+++ b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
@@ -460,10 +460,11 @@
DexType baseType = type.toBaseType(appInfo.dexItemFactory);
if (baseType.isClassType()) {
DexClass baseClass = appInfo.definitionFor(baseType);
- if (baseClass != null && !baseClass.isLibraryClass()) {
+ if (baseClass != null && baseClass.isProgramClass()
+ && baseClass.hasDefaultInitializer()) {
markClassAsInstantiatedWithCompatRule(baseClass);
} else {
- // This handles reporting of missing classes.
+ // This also handles reporting of missing classes.
markTypeAsLive(baseType);
}
return true;