[Retrace] Support verbose for new stack-trace parser

Bug: 170293906
Change-Id: I98c09a5e47c3bea456d6aa5607ec4b551e3e844d
diff --git a/src/main/java/com/android/tools/r8/retrace/Retrace.java b/src/main/java/com/android/tools/r8/retrace/Retrace.java
index 9b838df..e64d8e0 100644
--- a/src/main/java/com/android/tools/r8/retrace/Retrace.java
+++ b/src/main/java/com/android/tools/r8/retrace/Retrace.java
@@ -195,7 +195,9 @@
                             retracedElement.getOriginalItem();
                         retracedStringsForElement.add(
                             originalItem.toRetracedItem(
-                                retracedElement, !retracedStringsForElement.isEmpty()));
+                                retracedElement,
+                                !retracedStringsForElement.isEmpty(),
+                                command.isVerbose));
                       });
               retracedStrings.addAll(retracedStringsForElement);
             });
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementStringProxy.java b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementStringProxy.java
index 202d297..15d62ad 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementStringProxy.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementStringProxy.java
@@ -5,13 +5,14 @@
 package com.android.tools.r8.retrace.internal;
 
 import static com.android.tools.r8.retrace.internal.PlainStackTraceVisitor.firstNonWhiteSpaceCharacterFromIndex;
+import static com.android.tools.r8.retrace.internal.RetraceUtils.methodDescriptionFromRetraceMethod;
 import static com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.StringIndex.noIndex;
 
 import com.android.tools.r8.retrace.StackTraceElementProxy;
 import com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl.RetraceStackTraceProxyImpl;
+import com.android.tools.r8.utils.TriFunction;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.function.BiFunction;
 
 public final class StackTraceElementStringProxy extends StackTraceElementProxy<String> {
 
@@ -90,7 +91,8 @@
 
   public String toRetracedItem(
       RetraceStackTraceProxyImpl<StackTraceElementStringProxy> retracedProxy,
-      boolean printAmbiguous) {
+      boolean printAmbiguous,
+      boolean verbose) {
     StringBuilder sb = new StringBuilder();
     int lastSeenIndex = 0;
     if (retracedProxy.isAmbiguous() && printAmbiguous) {
@@ -100,7 +102,7 @@
     }
     for (StringIndex index : orderedIndices) {
       sb.append(line, lastSeenIndex, index.startIndex);
-      sb.append(index.retracedString.apply(retracedProxy, this));
+      sb.append(index.retracedString.apply(retracedProxy, this, verbose));
       lastSeenIndex = index.endIndex;
     }
     sb.append(line, lastSeenIndex, line.length());
@@ -136,7 +138,7 @@
           new StringIndex(
               startIndex,
               endIndex,
-              (retraced, original) -> {
+              (retraced, original, verbose) -> {
                 assert retraced.hasRetracedClass();
                 return retraced.getRetracedClass().getTypeName();
               });
@@ -149,10 +151,13 @@
           new StringIndex(
               startIndex,
               endIndex,
-              (retraced, original) ->
-                  retraced.hasRetracedMethod()
-                      ? retraced.getRetracedMethod().getMethodName()
-                      : original.methodName());
+              (retraced, original, verbose) -> {
+                if (!retraced.hasRetracedMethod()) {
+                  return original.methodName();
+                }
+                return methodDescriptionFromRetraceMethod(
+                    retraced.getRetracedMethod(), false, verbose);
+              });
       orderedIndices.add(methodName);
       return this;
     }
@@ -162,7 +167,7 @@
           new StringIndex(
               startIndex,
               endIndex,
-              (retraced, original) ->
+              (retraced, original, verbose) ->
                   retraced.hasSourceFile() ? retraced.getSourceFile() : original.fileName());
       orderedIndices.add(sourceFile);
       return this;
@@ -173,7 +178,7 @@
           new StringIndex(
               startIndex,
               endIndex,
-              (retraced, original) ->
+              (retraced, original, verbose) ->
                   retraced.hasLineNumber()
                       ? retraced.getLineNumber() + ""
                       : original.lineNumberAsString());
@@ -204,18 +209,20 @@
 
     private final int startIndex;
     private final int endIndex;
-    private final BiFunction<
+    private final TriFunction<
             RetraceStackTraceProxyImpl<StackTraceElementStringProxy>,
             StackTraceElementStringProxy,
+            Boolean,
             String>
         retracedString;
 
     private StringIndex(
         int startIndex,
         int endIndex,
-        BiFunction<
+        TriFunction<
                 RetraceStackTraceProxyImpl<StackTraceElementStringProxy>,
                 StackTraceElementStringProxy,
+                Boolean,
                 String>
             retracedString) {
       this.startIndex = startIndex;
diff --git a/src/test/java/com/android/tools/r8/retrace/RetraceVerboseTests.java b/src/test/java/com/android/tools/r8/retrace/RetraceVerboseTests.java
index 3e5b4ca..fb65c1d 100644
--- a/src/test/java/com/android/tools/r8/retrace/RetraceVerboseTests.java
+++ b/src/test/java/com/android/tools/r8/retrace/RetraceVerboseTests.java
@@ -6,7 +6,6 @@
 
 import static com.android.tools.r8.retrace.Retrace.DEFAULT_REGULAR_EXPRESSION;
 import static junit.framework.TestCase.assertEquals;
-import static org.junit.Assume.assumeTrue;
 
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestDiagnosticMessagesImpl;
@@ -58,8 +57,6 @@
   }
 
   private TestDiagnosticMessagesImpl runRetraceTest(StackTraceForTest stackTraceForTest) {
-    // TODO(b/170293906): Remove assumption.
-    assumeTrue(useRegExpParsing);
     TestDiagnosticMessagesImpl diagnosticsHandler = new TestDiagnosticMessagesImpl();
     RetraceCommand retraceCommand =
         RetraceCommand.builder(diagnosticsHandler)