Update to utility

  * Skip synthetic methods in android.jar
  * Print statistics

Bug: 134732760
Change-Id: I10a3ca5627d971bdf748f7bdd2f1c9c6baa1f6b3
diff --git a/src/test/java/com/android/tools/r8/desugar/corelib/DumpCoreLibUsage.java b/src/test/java/com/android/tools/r8/desugar/corelib/DumpCoreLibUsage.java
index 55f82ce..fe553d1 100644
--- a/src/test/java/com/android/tools/r8/desugar/corelib/DumpCoreLibUsage.java
+++ b/src/test/java/com/android/tools/r8/desugar/corelib/DumpCoreLibUsage.java
@@ -99,6 +99,12 @@
         if (!method.isPublicMethod()) {
           continue;
         }
+        // Class java.util.concurrent.CompletableFuture have most methods duplicated with a
+        // synthetic bridge that only differs on return type (the bridge has return type
+        // CompletionStage, whereas the non bridge has return type CompletableFuture.
+        if (method.isSyntheticMethod()) {
+          continue;
+        }
         if (filter.contains(method.method)) {
           continue;
         }
@@ -117,6 +123,8 @@
   public static void main(String[] args) throws Exception {
     DexItemFactory factory = new DexItemFactory();
     for (String pkg : new String[] {"java.time", "java.util.function", "java.util.stream"}) {
+      long prevMethods = 0;
+      long prevFields = 0;
       Set<DexReference> found = Collections.emptySet();
       for (AndroidApiLevel apiLevel :
           new AndroidApiLevel[] {
@@ -130,7 +138,17 @@
         String header = "Usage of package " + pkg + " on " + apiLevel;
         System.out.println(header);
         System.out.println(new String(new char[header.length()]).replace("\0", "-"));
+        System.out.println();
         found = new DumpCoreLibUsage().checkPackage(pkg, apiLevel, found, factory);
+
+        long methods = found.stream().filter(DexReference::isDexMethod).count();
+        long fields = found.stream().filter(DexReference::isDexField).count();
+        System.out.println(
+            "Total methods: " + methods + " (" + (methods - prevMethods) + " added)");
+        System.out.println("Total fields: " + fields + " (" + (fields - prevFields) + " added)");
+        System.out.println();
+        prevMethods = methods;
+        prevFields = fields;
       }
     }
   }