Change heuristic to split signature
- Now we include '<' in type name such as we save about 100k when
compiling GMSCore v9 deploy jar with D8.
Change-Id: I26925cf0f2b510bcf94cde2709e7005bced647d7
diff --git a/src/main/java/com/android/tools/r8/graph/DexAnnotation.java b/src/main/java/com/android/tools/r8/graph/DexAnnotation.java
index d1118ab..66d9774 100644
--- a/src/main/java/com/android/tools/r8/graph/DexAnnotation.java
+++ b/src/main/java/com/android/tools/r8/graph/DexAnnotation.java
@@ -196,7 +196,7 @@
* the names.
* For examples, "()Ljava/lang/List<Lfoo/bar/Baz;>;" splits into:
* <pre>
- * ["()", "Ljava/lang/List", "<", "Lfoo/bar/Baz;", ">;"]
+ * ["()", "Ljava/lang/List<", "Lfoo/bar/Baz;", ">;"]
* </pre>
*/
private static DexValue compressSignature(String signature, DexItemFactory factory) {
@@ -210,11 +210,9 @@
// Scan to ';' or '<' and consume them.
while (endAt < length) {
c = signature.charAt(endAt);
- if (c == ';' /*|| c == '<'*/) {
+ if (c == ';' || c == '<') {
endAt++;
break;
- } else if (c == '<') {
- break;
}
endAt++;
}