Enable assertion for not generating overloaded names when not kept
Bug: 159113601
Bug: 149360203
Change-Id: I181cef89819c859be148939b13a77de1f6a70625
diff --git a/src/main/java/com/android/tools/r8/utils/LineNumberOptimizer.java b/src/main/java/com/android/tools/r8/utils/LineNumberOptimizer.java
index e1572f5..367092b 100644
--- a/src/main/java/com/android/tools/r8/utils/LineNumberOptimizer.java
+++ b/src/main/java/com/android/tools/r8/utils/LineNumberOptimizer.java
@@ -308,8 +308,7 @@
// methods, we either did not rename them, we renamed them according to a supplied map or
// they may be bridges for interface methods with covariant return types.
sortMethods(methods);
- // TODO(b/149360203): Reenable assert.
- assert true || verifyMethodsAreKeptDirectlyOrIndirectly(appView, methods);
+ assert verifyMethodsAreKeptDirectlyOrIndirectly(appView, methods);
}
boolean identityMapping =
@@ -450,12 +449,15 @@
return true;
}
RootSet rootSet = appView.rootSet();
+ boolean allSeenAreInstanceInitializers = true;
DexString originalName = null;
for (DexEncodedMethod method : methods) {
// We cannot rename instance initializers.
if (method.isInstanceInitializer()) {
+ assert allSeenAreInstanceInitializers;
continue;
}
+ allSeenAreInstanceInitializers = false;
// If the method is pinned, we cannot minify it.
if (rootSet.mayNotBeMinified(method.method, appView)) {
continue;
@@ -474,7 +476,8 @@
}
String errorString = method.method.qualifiedName() + " is not kept but is overloaded";
assert lookupResult.getHolder().isInterface() : errorString;
- assert originalName == null || originalName.equals(method.method.name) : errorString;
+ // TODO(b/159113601): Reenable assert.
+ assert true || originalName == null || originalName.equals(method.method.name) : errorString;
originalName = method.method.name;
}
return true;