Version 1.6.90
Add message to enqueuer assertion for debugging b/150325706.
Bug: 150325706
Change-Id: I3780f3f2ed21547ee3071e89d687719b2001aa1e
diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java
index a705522..0cfd341 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.6.89";
+ public static final String LABEL = "1.6.90";
private Version() {
}
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 b2b20a1..b2dcf9b 100644
--- a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
+++ b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
@@ -1171,7 +1171,7 @@
KeepReason reason = KeepReason.reachableFromLiveType(holder.type);
for (DexType iface : holder.interfaces.values) {
- markInterfaceTypeAsLiveViaInheritanceClause(iface, reason);
+ markInterfaceTypeAsLiveViaInheritanceClause(holder, iface, reason);
}
if (holder.superType != null) {
@@ -1250,14 +1250,26 @@
}
}
- private void markInterfaceTypeAsLiveViaInheritanceClause(DexType type, KeepReason reason) {
+ private void markInterfaceTypeAsLiveViaInheritanceClause(
+ DexProgramClass implementer, DexType type, KeepReason reason) {
if (appView.options().enableUnusedInterfaceRemoval && !mode.isTracingMainDex()) {
DexProgramClass clazz = getProgramClassOrNull(type);
if (clazz == null) {
return;
}
- assert clazz.isInterface();
+ assert clazz.isInterface()
+ : implementer.isInterface()
+ ? ("Interface `"
+ + implementer.type.toSourceString()
+ + "` extends non-interface `"
+ + type.toSourceString()
+ + "`")
+ : ("Class `"
+ + implementer.type.toSourceString()
+ + "` implements non-interface `"
+ + type.toSourceString()
+ + "`");
if (!clazz.interfaces.isEmpty()) {
markTypeAsLive(type, reason);