[Retrace] Add StringRetrace.create overload for reusing retracer
Bug: 195161786
Change-Id: I47e05f91fd90d221f6ba7366b3a0266e1fe50d2a
diff --git a/src/main/java/com/android/tools/r8/retrace/StringRetrace.java b/src/main/java/com/android/tools/r8/retrace/StringRetrace.java
index 4502782..f6636c1 100644
--- a/src/main/java/com/android/tools/r8/retrace/StringRetrace.java
+++ b/src/main/java/com/android/tools/r8/retrace/StringRetrace.java
@@ -31,22 +31,42 @@
}
/**
- * Default entry point for creating a retrace designed for string input and output.
+ * Default entry point for creating a retracer designed for string input and output.
*
* @param command the command with information about creating the StringRetrace
* @return a StringRetrace object
*/
public static StringRetrace create(RetraceOptions command) {
- Retracer retracer =
- Retracer.createDefault(command.getProguardMapProducer(), command.getDiagnosticsHandler());
- return new StringRetrace(
- StackTraceLineParser.createRegularExpressionParser(command.getRegularExpression()),
- StackTraceElementProxyRetracer.createDefault(retracer),
+ return create(
+ Retracer.createDefault(command.getProguardMapProducer(), command.getDiagnosticsHandler()),
command.getDiagnosticsHandler(),
+ command.getRegularExpression(),
command.isVerbose());
}
/**
+ * Entry point for creating a retracer designed for string input and output where the mapping file
+ * has already been parsed.
+ *
+ * @param retracer a loaded retracer with parsed mapping
+ * @param diagnosticsHandler a diagnosticshandler for emitting information
+ * @param regularExpression the regular expression to use for identifying information in strings
+ * @param isVerbose specify to emit verbose information
+ * @return a StringRetrace object
+ */
+ public static StringRetrace create(
+ Retracer retracer,
+ DiagnosticsHandler diagnosticsHandler,
+ String regularExpression,
+ boolean isVerbose) {
+ return new StringRetrace(
+ StackTraceLineParser.createRegularExpressionParser(regularExpression),
+ StackTraceElementProxyRetracer.createDefault(retracer),
+ diagnosticsHandler,
+ isVerbose);
+ }
+
+ /**
* Retraces a list of stack-trace lines and returns a list. Ambiguous and inline frames will be
* appended automatically to the retraced string.
*