Improve assertion message when there are duplicate DEX items
Change-Id: I550bb361633c3fbbca8dc9e3784aea3c94861ff0
diff --git a/src/main/java/com/android/tools/r8/dex/DexParser.java b/src/main/java/com/android/tools/r8/dex/DexParser.java
index 96a4596..e23386b 100644
--- a/src/main/java/com/android/tools/r8/dex/DexParser.java
+++ b/src/main/java/com/android/tools/r8/dex/DexParser.java
@@ -1126,11 +1126,16 @@
boolean isValidOrder = stringIndex > prevStringIndex;
assert isValidOrder
: String.format(
- "Out-of-order type ids (type #%s: `%s`, type #%s: `%s`)",
+ (indexedItems.getString(prevStringIndex).equals(indexedItems.getString(stringIndex))
+ ? "Duplicate"
+ : "Out-of-order")
+ + " type ids (type #%s: `%s` string #%s, type #%s: `%s` string #%s)",
index - 1,
indexedItems.getString(prevStringIndex),
+ prevStringIndex,
index,
- indexedItems.getString(stringIndex));
+ indexedItems.getString(stringIndex),
+ stringIndex);
prevStringIndex = stringIndex;
}