Make applicationSize() available outside CompilationTestBase

Change-Id: I1cba75c8190faa7b8695aa5fd1db68bb7c375fd7
diff --git a/src/main/java/com/android/tools/r8/utils/AndroidApp.java b/src/main/java/com/android/tools/r8/utils/AndroidApp.java
index c4a37c2..c565c4e 100644
--- a/src/main/java/com/android/tools/r8/utils/AndroidApp.java
+++ b/src/main/java/com/android/tools/r8/utils/AndroidApp.java
@@ -39,6 +39,7 @@
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.io.ByteStreams;
+import com.google.common.io.Closer;
 import it.unimi.dsi.fastutil.objects.Object2IntMap;
 import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
 import java.io.ByteArrayOutputStream;
@@ -207,6 +208,16 @@
     return new Builder(reporter, app);
   }
 
+  public int applicationSize() throws IOException, ResourceException {
+    int bytes = 0;
+    try (Closer closer = Closer.create()) {
+      for (ProgramResource dex : getDexProgramResourcesForTesting()) {
+        bytes += ByteStreams.toByteArray(closer.register(dex.getByteStream())).length;
+      }
+    }
+    return bytes;
+  }
+
   /** Get full collection of all program resources from all program providers. */
   public Collection<ProgramResource> computeAllProgramResources() throws ResourceException {
     List<ProgramResource> resources = new ArrayList<>();
diff --git a/src/test/java/com/android/tools/r8/cf/bootstrap/KotlinCompilerTreeShakingTest.java b/src/test/java/com/android/tools/r8/cf/bootstrap/KotlinCompilerTreeShakingTest.java
index a1e32b4..693eced 100644
--- a/src/test/java/com/android/tools/r8/cf/bootstrap/KotlinCompilerTreeShakingTest.java
+++ b/src/test/java/com/android/tools/r8/cf/bootstrap/KotlinCompilerTreeShakingTest.java
@@ -130,7 +130,7 @@
         .run(parameters.getRuntime(), PKG_NAME + ".HelloKt")
         .assertSuccessWithOutputLines("I'm Woody. Howdy, howdy, howdy.");
 
-    int size = applicationSize(AndroidApp.builder().addProgramFile(r8ProcessedKotlinc).build());
+    int size = AndroidApp.builder().addProgramFile(r8ProcessedKotlinc).build().applicationSize();
     assertTrue(size <= MAX_SIZE);
   }
 }
diff --git a/src/test/java/com/android/tools/r8/internal/CompilationTestBase.java b/src/test/java/com/android/tools/r8/internal/CompilationTestBase.java
index 3e9a3cb..07b1906 100644
--- a/src/test/java/com/android/tools/r8/internal/CompilationTestBase.java
+++ b/src/test/java/com/android/tools/r8/internal/CompilationTestBase.java
@@ -213,16 +213,6 @@
     }
   }
 
-  public int applicationSize(AndroidApp app) throws IOException, ResourceException {
-    int bytes = 0;
-    try (Closer closer = Closer.create()) {
-      for (ProgramResource dex : app.getDexProgramResourcesForTesting()) {
-        bytes += ByteStreams.toByteArray(closer.register(dex.getByteStream())).length;
-      }
-    }
-    return bytes;
-  }
-
   public void assertIdenticalApplications(AndroidApp app1, AndroidApp app2)
       throws IOException, ResourceException {
     assertIdenticalApplications(app1, app2, false);
diff --git a/src/test/java/com/android/tools/r8/internal/Gmail17060416TreeShakeJarVerificationTest.java b/src/test/java/com/android/tools/r8/internal/Gmail17060416TreeShakeJarVerificationTest.java
index 82e7e93..99237cf 100644
--- a/src/test/java/com/android/tools/r8/internal/Gmail17060416TreeShakeJarVerificationTest.java
+++ b/src/test/java/com/android/tools/r8/internal/Gmail17060416TreeShakeJarVerificationTest.java
@@ -42,7 +42,7 @@
             .allowUnusedProguardConfigurationRules()
             .compile();
 
-    int appSize = applicationSize(compileResult.app);
+    int appSize = compileResult.app.applicationSize();
     assertTrue("Expected max size of " + MAX_SIZE+ ", got " + appSize, appSize < MAX_SIZE);
   }
 
diff --git a/src/test/java/com/android/tools/r8/internal/Gmail18082615TreeShakeJarVerificationTest.java b/src/test/java/com/android/tools/r8/internal/Gmail18082615TreeShakeJarVerificationTest.java
index 0f6a563..fc6e7d3 100644
--- a/src/test/java/com/android/tools/r8/internal/Gmail18082615TreeShakeJarVerificationTest.java
+++ b/src/test/java/com/android/tools/r8/internal/Gmail18082615TreeShakeJarVerificationTest.java
@@ -45,7 +45,7 @@
             .allowUnusedProguardConfigurationRules()
             .compile();
 
-    int appSize = applicationSize(compileResult.app);
+    int appSize = compileResult.app.applicationSize();
     assertTrue("Expected max size of " + MAX_SIZE+ ", got " + appSize, appSize < MAX_SIZE);
   }
 }
diff --git a/src/test/java/com/android/tools/r8/internal/R8GMSCoreTreeShakeJarVerificationTest.java b/src/test/java/com/android/tools/r8/internal/R8GMSCoreTreeShakeJarVerificationTest.java
index 86da48e..c577d60 100644
--- a/src/test/java/com/android/tools/r8/internal/R8GMSCoreTreeShakeJarVerificationTest.java
+++ b/src/test/java/com/android/tools/r8/internal/R8GMSCoreTreeShakeJarVerificationTest.java
@@ -47,7 +47,7 @@
             // Don't pass any inputs. The input will be read from the -injars in the Proguard
             // configuration file.
             ImmutableList.of());
-    int bytes = applicationSize(app);
+    int bytes = app.applicationSize();
     assertTrue("Expected max size of " + maxSize + ", got " + bytes, bytes < maxSize);
     return app;
   }
diff --git a/src/test/java/com/android/tools/r8/internal/YouTubeV1217TreeShakeJarVerificationTest.java b/src/test/java/com/android/tools/r8/internal/YouTubeV1217TreeShakeJarVerificationTest.java
index 09cfa48..69b4748 100644
--- a/src/test/java/com/android/tools/r8/internal/YouTubeV1217TreeShakeJarVerificationTest.java
+++ b/src/test/java/com/android/tools/r8/internal/YouTubeV1217TreeShakeJarVerificationTest.java
@@ -34,7 +34,7 @@
             // Don't pass any inputs. The input will be read from the -injars in the Proguard
             // configuration file.
             ImmutableList.of());
-    int bytes = applicationSize(app);
+    int bytes = app.applicationSize();
     assertTrue("Expected max size of " + maxSize + ", got " + bytes, bytes < maxSize);
   }
 }
diff --git a/src/test/java/com/android/tools/r8/internal/YouTubeV1419TreeShakeJarVerificationTest.java b/src/test/java/com/android/tools/r8/internal/YouTubeV1419TreeShakeJarVerificationTest.java
index f29c397..f20a827 100644
--- a/src/test/java/com/android/tools/r8/internal/YouTubeV1419TreeShakeJarVerificationTest.java
+++ b/src/test/java/com/android/tools/r8/internal/YouTubeV1419TreeShakeJarVerificationTest.java
@@ -79,7 +79,7 @@
       System.out.println(actual.getStats(baseline));
     }
 
-    int applicationSize = applicationSize(compileResult.app);
+    int applicationSize = compileResult.app.applicationSize();
     System.out.println(applicationSize);
 
     assertTrue(
diff --git a/src/test/java/com/android/tools/r8/internal/YouTubeV1444TreeShakeJarVerificationTest.java b/src/test/java/com/android/tools/r8/internal/YouTubeV1444TreeShakeJarVerificationTest.java
index 49b41aa..73da9f2 100644
--- a/src/test/java/com/android/tools/r8/internal/YouTubeV1444TreeShakeJarVerificationTest.java
+++ b/src/test/java/com/android/tools/r8/internal/YouTubeV1444TreeShakeJarVerificationTest.java
@@ -90,7 +90,7 @@
       System.out.println(actual.getStats(baseline));
     }
 
-    int applicationSize = applicationSize(compileResult.app);
+    int applicationSize = compileResult.app.applicationSize();
     System.out.println(applicationSize);
 
     assertTrue(