Add short-hand for flat-map on retrace results.

The mapping to a flattened list representing the ambiguous results is
common for the API so the short-hand makes that more visible in the API
and also removes a bit of clutter in using it.

Change-Id: Ic86ce8265aaeeac8aae123906ee3980f30e49a7e
diff --git a/src/main/java/com/android/tools/r8/retrace/RetraceResult.java b/src/main/java/com/android/tools/r8/retrace/RetraceResult.java
index 7ff9c4e..cda85ce 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetraceResult.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetraceResult.java
@@ -5,6 +5,7 @@
 
 import com.android.tools.r8.Keep;
 import java.util.function.Consumer;
+import java.util.function.Function;
 import java.util.stream.Stream;
 
 /**
@@ -32,5 +33,10 @@
     stream().forEach(action);
   }
 
+  /** Short-hand for flat-mapping the elements to some other result type. */
+  default <T> Stream<T> flatMap(Function<? super E, Stream<T>> fn) {
+    return stream().flatMap(fn);
+  }
+
   boolean isEmpty();
 }