[Retrace] Do not match a digit as first character
Bug: b/300416467
Change-Id: I4e2c0c200fe09d6d4671a199d16c85bef15a4f27
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceRegularExpressionParser.java b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceRegularExpressionParser.java
index c3b01ce..3805bc6 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceRegularExpressionParser.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceRegularExpressionParser.java
@@ -168,7 +168,10 @@
}
}
- private static final String identifierSegment = "[^\\s\\[;:(<]+";
+ private static final String notAllowedCharacters = "\\s\\[;:(<";
+ private static final String identifierPrefix = "[^\\d" + notAllowedCharacters + "]";
+ private static final String identifierSuffix = "[^" + notAllowedCharacters + "]*";
+ private static final String identifierSegment = identifierPrefix + identifierSuffix;
private static final String METHOD_NAME_REGULAR_EXPRESSION =
"(?:(" + identifierSegment + "|\\<init\\>|\\<clinit\\>))";
diff --git a/src/test/java/com/android/tools/r8/retrace/StackTraceRegularExpressionParserTests.java b/src/test/java/com/android/tools/r8/retrace/StackTraceRegularExpressionParserTests.java
index 5917603..abcf319 100644
--- a/src/test/java/com/android/tools/r8/retrace/StackTraceRegularExpressionParserTests.java
+++ b/src/test/java/com/android/tools/r8/retrace/StackTraceRegularExpressionParserTests.java
@@ -1172,9 +1172,8 @@
" method future (Note: all"
+ " times are in ms. relative to TaskGraph creation)",
" requested, queued, started, finished (+ latency), finished, task",
- // TODO(b/300416467): We could retrace this correctly.
" 0.057, 1.290, 2.690, 3.408 (+ 0.718), 66.376,"
- + " foo.bar.baz.c.b.a.c.b.a.a.b, 0, 6, 0",
+ + " some.original.factory, 0, 6, 0",
"");
}
@@ -1185,9 +1184,8 @@
" method future (Note: all"
+ " times are in ms. relative to TaskGraph creation)",
" requested, queued, started, finished (+ latency), finished, task",
- // TODO(b/300416467): We could retrace this correctly.
" 0.057, 1.290, 2.690, 3.408 (+ 0.718), 66.376,"
- + " foo.bar.baz.c.b.a.c.b.a.a.b, 0, 6, 0",
+ + " some.original.factory, 0, 6, 0",
"");
}