Resolve unchecked cast build warnings

Change-Id: Ie9b5113502c609672ed012449122b109cf0a939e
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/ComparisonEnumUnboxingTest.java b/src/test/java/com/android/tools/r8/enumunboxing/ComparisonEnumUnboxingTest.java
index 91c9afd..e6fdc93 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/ComparisonEnumUnboxingTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/ComparisonEnumUnboxingTest.java
@@ -9,7 +9,6 @@
 import com.android.tools.r8.NeverInline;
 import com.android.tools.r8.R8TestCompileResult;
 import com.android.tools.r8.TestParameters;
-import java.util.Arrays;
 import java.util.List;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -19,7 +18,7 @@
 @RunWith(Parameterized.class)
 public class ComparisonEnumUnboxingTest extends EnumUnboxingTestBase {
 
-  private static final Class<?>[] INPUTS = new Class<?>[] {NullCheck.class, EnumComparison.class};
+  private static final Class<?>[] TESTS = new Class<?>[] {NullCheck.class, EnumComparison.class};
 
   private final TestParameters parameters;
   private final boolean enumValueOptimization;
@@ -42,16 +41,14 @@
     R8TestCompileResult compile =
         testForR8(parameters.getBackend())
             .addInnerClasses(ComparisonEnumUnboxingTest.class)
-            .addKeepMainRules(INPUTS)
+            .addKeepMainRules(TESTS)
             .enableInliningAnnotations()
             .enableNeverClassInliningAnnotations()
             .addKeepRules(enumKeepRules.getKeepRules())
             .addOptionsModification(opt -> enableEnumOptions(opt, enumValueOptimization))
             .addEnumUnboxingInspector(
                 inspector ->
-                    Arrays.stream(INPUTS)
-                        .map(clazz -> (Class<? extends Enum<?>>) clazz.getDeclaredClasses()[0])
-                        .forEach(inspector::assertUnboxed))
+                    inspector.assertUnboxed(NullCheck.MyEnum.class, EnumComparison.MyEnum.class))
             .setMinApi(parameters.getApiLevel())
             .compile()
             .inspect(
@@ -59,9 +56,9 @@
                   assertEquals(3, inspector.clazz(NullCheck.class).allMethods().size());
                   assertEquals(2, inspector.clazz(EnumComparison.class).allMethods().size());
                 });
-    for (Class<?> input : INPUTS) {
+    for (Class<?> main : TESTS) {
       compile
-          .run(parameters.getRuntime(), input)
+          .run(parameters.getRuntime(), main)
           .assertSuccess()
           .inspectStdOut(this::assertLines2By2Correct);
     }
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/FailingMethodEnumUnboxingTest.java b/src/test/java/com/android/tools/r8/enumunboxing/FailingMethodEnumUnboxingTest.java
index cde02a3..ce3e3f9 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/FailingMethodEnumUnboxingTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/FailingMethodEnumUnboxingTest.java
@@ -12,7 +12,6 @@
 import com.android.tools.r8.SingleTestRunResult;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.utils.codeinspector.CodeInspector;
-import java.util.Arrays;
 import java.util.EnumSet;
 import java.util.List;
 import org.junit.Test;
@@ -22,7 +21,7 @@
 
 @RunWith(Parameterized.class)
 public class FailingMethodEnumUnboxingTest extends EnumUnboxingTestBase {
-  private static final Class<?>[] FAILURES = {
+  private static final Class<?>[] TESTS = {
     InstanceFieldPutObject.class,
     StaticFieldPutObject.class,
     EnumSetTest.class,
@@ -51,24 +50,28 @@
     R8TestCompileResult compile =
         testForR8(parameters.getBackend())
             .addInnerClasses(FailingMethodEnumUnboxingTest.class)
-            .addKeepMainRules(FAILURES)
+            .addKeepMainRules(TESTS)
             .addKeepRules(enumKeepRules.getKeepRules())
             .addOptionsModification(opt -> enableEnumOptions(opt, enumValueOptimization))
             .addEnumUnboxingInspector(
                 inspector ->
-                    Arrays.stream(FAILURES)
-                        .map(clazz -> (Class<? extends Enum<?>>) clazz.getDeclaredClasses()[0])
-                        .forEach(inspector::assertNotUnboxed))
+                    inspector.assertNotUnboxed(
+                        InstanceFieldPutObject.MyEnum.class,
+                        StaticFieldPutObject.MyEnum.class,
+                        EnumSetTest.MyEnum.class,
+                        FailingPhi.MyEnum.class,
+                        FailingReturnType.MyEnum.class,
+                        FailingParameterType.MyEnum.class))
             .enableInliningAnnotations()
             .enableNeverClassInliningAnnotations()
             .setMinApi(parameters.getApiLevel())
             .compile()
             .inspect(this::assertEnumsAsExpected);
-    for (Class<?> failure : FAILURES) {
+    for (Class<?> main : TESTS) {
       compile
-          .run(parameters.getRuntime(), failure)
+          .run(parameters.getRuntime(), main)
           .applyIf(
-              failure == EnumSetTest.class && enumKeepRules.getKeepRules().isEmpty(),
+              main == EnumSetTest.class && enumKeepRules.getKeepRules().isEmpty(),
               // EnumSet and EnumMap cannot be used without the enumKeepRules.
               SingleTestRunResult::assertFailure,
               result -> result.assertSuccess().inspectStdOut(this::assertLines2By2Correct));
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/FieldPutEnumUnboxingTest.java b/src/test/java/com/android/tools/r8/enumunboxing/FieldPutEnumUnboxingTest.java
index ad40e78..d7627a6 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/FieldPutEnumUnboxingTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/FieldPutEnumUnboxingTest.java
@@ -10,7 +10,6 @@
 import com.android.tools.r8.NeverInline;
 import com.android.tools.r8.R8TestCompileResult;
 import com.android.tools.r8.TestParameters;
-import java.util.Arrays;
 import java.util.List;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -49,9 +48,8 @@
             .addOptionsModification(opt -> enableEnumOptions(opt, enumValueOptimization))
             .addEnumUnboxingInspector(
                 inspector ->
-                    Arrays.stream(INPUTS)
-                        .map(clazz -> (Class<? extends Enum<?>>) clazz.getDeclaredClasses()[0])
-                        .forEach(inspector::assertUnboxed))
+                    inspector.assertUnboxed(
+                        InstanceFieldPut.MyEnum.class, StaticFieldPut.MyEnum.class))
             .enableInliningAnnotations()
             .enableNeverClassInliningAnnotations()
             .setMinApi(parameters.getApiLevel())
@@ -66,9 +64,9 @@
                       1, i.clazz(StaticFieldPut.class).getDexProgramClass().staticFields().size());
                 });
 
-    for (Class<?> input : INPUTS) {
+    for (Class<?> main : INPUTS) {
       compile
-          .run(parameters.getRuntime(), input)
+          .run(parameters.getRuntime(), main)
           .assertSuccess()
           .inspectStdOut(this::assertLines2By2Correct);
     }
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/InstanceFieldsEnumUnboxingTest.java b/src/test/java/com/android/tools/r8/enumunboxing/InstanceFieldsEnumUnboxingTest.java
index 61bd347..e359c36 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/InstanceFieldsEnumUnboxingTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/InstanceFieldsEnumUnboxingTest.java
@@ -8,7 +8,6 @@
 import com.android.tools.r8.NeverInline;
 import com.android.tools.r8.R8TestCompileResult;
 import com.android.tools.r8.TestParameters;
-import java.util.Arrays;
 import java.util.List;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -18,14 +17,11 @@
 @RunWith(Parameterized.class)
 public class InstanceFieldsEnumUnboxingTest extends EnumUnboxingTestBase {
 
-  private static final Class<?>[] FAILURES = {
+  private static final Class<?>[] TESTS = {
     FailureIntField.class,
     FailureBoxedInnerEnumField.class,
     FailureUnboxedEnumField.class,
-    FailureTooManyUsedFields.class
-  };
-
-  private static final Class<?>[] SUCCESSES = {
+    FailureTooManyUsedFields.class,
     SuccessUnusedField.class,
     SuccessIntField.class,
     SuccessDoubleField.class,
@@ -57,27 +53,24 @@
     R8TestCompileResult compile =
         testForR8(parameters.getBackend())
             .addInnerClasses(InstanceFieldsEnumUnboxingTest.class)
-            .addKeepMainRules(SUCCESSES)
-            .addKeepMainRules(FAILURES)
+            .addKeepMainRules(TESTS)
             .addEnumUnboxingInspector(
-                inspector -> {
-                  Arrays.stream(SUCCESSES)
-                      .flatMap(
-                          clazz -> Arrays.stream(clazz.getDeclaredClasses()).filter(Class::isEnum))
-                      .forEach(clazz -> inspector.assertUnboxed((Class<? extends Enum<?>>) clazz));
-                  Arrays.stream(FAILURES)
-                      .flatMap(
-                          clazz ->
-                              Arrays.stream(clazz.getDeclaredClasses())
-                                  .filter(
-                                      declaredClass ->
-                                          declaredClass.isEnum()
-                                              && !declaredClass
-                                                  .getSimpleName()
-                                                  .equals("InnerEnum")))
-                      .forEach(
-                          clazz -> inspector.assertNotUnboxed((Class<? extends Enum<?>>) clazz));
-                })
+                inspector ->
+                    inspector
+                        .assertUnboxed(
+                            SuccessUnusedField.EnumField.class,
+                            SuccessIntField.EnumField.class,
+                            SuccessDoubleField.EnumField.class,
+                            SuccessIntFieldOrdinal.EnumField.class,
+                            SuccessIntFieldInitializerInit.EnumField.class,
+                            SuccessStringField.EnumField.class,
+                            SuccessMultiConstructorIntField.EnumField.class,
+                            SuccessPrivateIntField.EnumField.class)
+                        .assertNotUnboxed(
+                            FailureIntField.EnumField.class,
+                            FailureBoxedInnerEnumField.EnumField.class,
+                            FailureUnboxedEnumField.EnumField.class,
+                            FailureTooManyUsedFields.EnumField.class))
             .noMinification()
             .enableInliningAnnotations()
             .enableNeverClassInliningAnnotations()
@@ -85,11 +78,8 @@
             .addOptionsModification(opt -> enableEnumOptions(opt, enumValueOptimization))
             .setMinApi(parameters.getApiLevel())
             .compile();
-    for (Class<?> failure : FAILURES) {
-      testClass(compile, failure);
-    }
-    for (Class<?> success : SUCCESSES) {
-      testClass(compile, success);
+    for (Class<?> main : TESTS) {
+      testClass(compile, main);
     }
   }
 
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/InterfaceEnumUnboxingTest.java b/src/test/java/com/android/tools/r8/enumunboxing/InterfaceEnumUnboxingTest.java
index 2f70afd..2f27855 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/InterfaceEnumUnboxingTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/InterfaceEnumUnboxingTest.java
@@ -9,7 +9,6 @@
 import com.android.tools.r8.NoVerticalClassMerging;
 import com.android.tools.r8.R8TestCompileResult;
 import com.android.tools.r8.TestParameters;
-import java.util.Arrays;
 import java.util.List;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -19,11 +18,9 @@
 @RunWith(Parameterized.class)
 public class InterfaceEnumUnboxingTest extends EnumUnboxingTestBase {
 
-  private static final Class<?>[] FAILURES = {
-    FailureDefaultMethodUsed.class, FailureUsedAsInterface.class,
-  };
-
-  private static final Class<?>[] SUCCESSES = {
+  private static final Class<?>[] TESTS = {
+    FailureDefaultMethodUsed.class,
+    FailureUsedAsInterface.class,
     SuccessAbstractMethod.class,
     SuccessEmptyInterface.class,
     SuccessUnusedDefaultMethod.class,
@@ -52,20 +49,19 @@
     R8TestCompileResult compile =
         testForR8(parameters.getBackend())
             .addInnerClasses(InterfaceEnumUnboxingTest.class)
-            .addKeepMainRules(SUCCESSES)
-            .addKeepMainRules(FAILURES)
+            .addKeepMainRules(TESTS)
             .addEnumUnboxingInspector(
-                inspector -> {
-                  Arrays.stream(SUCCESSES)
-                      .flatMap(
-                          clazz -> Arrays.stream(clazz.getDeclaredClasses()).filter(Class::isEnum))
-                      .forEach(clazz -> inspector.assertUnboxed((Class<? extends Enum<?>>) clazz));
-                  Arrays.stream(FAILURES)
-                      .flatMap(
-                          clazz -> Arrays.stream(clazz.getDeclaredClasses()).filter(Class::isEnum))
-                      .forEach(
-                          clazz -> inspector.assertNotUnboxed((Class<? extends Enum<?>>) clazz));
-                })
+                inspector ->
+                    inspector
+                        .assertUnboxed(
+                            SuccessAbstractMethod.EnumInterface.class,
+                            SuccessEmptyInterface.EnumInterface.class,
+                            SuccessUnusedDefaultMethod.EnumInterface.class,
+                            SuccessUnusedDefaultMethodOverride.EnumInterface.class,
+                            SuccessUnusedDefaultMethodOverrideEnum.EnumInterface.class)
+                        .assertNotUnboxed(
+                            FailureDefaultMethodUsed.EnumInterface.class,
+                            FailureUsedAsInterface.EnumInterface.class))
             .noMinification()
             .enableNoVerticalClassMergingAnnotations()
             .enableInliningAnnotations()
@@ -74,11 +70,8 @@
             .addOptionsModification(opt -> enableEnumOptions(opt, enumValueOptimization))
             .setMinApi(parameters.getApiLevel())
             .compile();
-    for (Class<?> failure : FAILURES) {
-      testClass(compile, failure);
-    }
-    for (Class<?> success : SUCCESSES) {
-      testClass(compile, success);
+    for (Class<?> main : TESTS) {
+      testClass(compile, main);
     }
   }
 
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/PinnedEnumUnboxingTest.java b/src/test/java/com/android/tools/r8/enumunboxing/PinnedEnumUnboxingTest.java
index 7431727..6391a99 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/PinnedEnumUnboxingTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/PinnedEnumUnboxingTest.java
@@ -8,7 +8,6 @@
 import com.android.tools.r8.R8TestCompileResult;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.enumunboxing.PinnedEnumUnboxingTest.MainWithKeptEnum.MyEnum;
-import java.util.Arrays;
 import java.util.List;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -18,7 +17,7 @@
 @RunWith(Parameterized.class)
 public class PinnedEnumUnboxingTest extends EnumUnboxingTestBase {
 
-  private static final Class<?>[] BOXED = {MainWithKeptEnum.class, MainWithKeptEnumArray.class};
+  private static final Class<?>[] TESTS = {MainWithKeptEnum.class, MainWithKeptEnumArray.class};
 
   private final TestParameters parameters;
   private final boolean enumValueOptimization;
@@ -41,23 +40,20 @@
     R8TestCompileResult compileResult =
         testForR8(parameters.getBackend())
             .addInnerClasses(PinnedEnumUnboxingTest.class)
-            .addKeepMainRules(BOXED)
+            .addKeepMainRules(TESTS)
             .addKeepClassRules(MyEnum.class)
             .addKeepMethodRules(MainWithKeptEnumArray.class, "keptMethod()")
             .addKeepRules(enumKeepRules.getKeepRules())
             .addEnumUnboxingInspector(
                 inspector ->
-                    Arrays.stream(BOXED)
-                        .map(clazz -> (Class<? extends Enum<?>>) clazz.getDeclaredClasses()[0])
-                        .forEach(inspector::assertNotUnboxed))
+                    inspector.assertNotUnboxed(
+                        MainWithKeptEnum.MyEnum.class, MainWithKeptEnumArray.MyEnum.class))
             .enableNeverClassInliningAnnotations()
             .addOptionsModification(opt -> enableEnumOptions(opt, enumValueOptimization))
             .setMinApi(parameters.getApiLevel())
             .compile();
-    for (Class<?> boxed : BOXED) {
-      compileResult
-          .run(parameters.getRuntime(), boxed)
-          .assertSuccessWithOutputLines("0");
+    for (Class<?> main : TESTS) {
+      compileResult.run(parameters.getRuntime(), main).assertSuccessWithOutputLines("0");
     }
   }
 
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/ValueOfEnumUnboxingTest.java b/src/test/java/com/android/tools/r8/enumunboxing/ValueOfEnumUnboxingTest.java
index 794cfab..eabf368 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/ValueOfEnumUnboxingTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/ValueOfEnumUnboxingTest.java
@@ -7,7 +7,6 @@
 import com.android.tools.r8.NeverClassInline;
 import com.android.tools.r8.R8TestCompileResult;
 import com.android.tools.r8.TestParameters;
-import java.util.Arrays;
 import java.util.List;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -17,7 +16,7 @@
 @RunWith(Parameterized.class)
 public class ValueOfEnumUnboxingTest extends EnumUnboxingTestBase {
 
-  private static final Class<?>[] SUCCESSES = {
+  private static final Class<?>[] TESTS = {
     EnumValueOf.class,
   };
 
@@ -42,20 +41,17 @@
     R8TestCompileResult compile =
         testForR8(parameters.getBackend())
             .addInnerClasses(ValueOfEnumUnboxingTest.class)
-            .addKeepMainRules(SUCCESSES)
+            .addKeepMainRules(TESTS)
             .addEnumUnboxingInspector(
-                inspector ->
-                    Arrays.stream(SUCCESSES)
-                        .map(clazz -> (Class<? extends Enum<?>>) clazz.getDeclaredClasses()[0])
-                        .forEach(inspector::assertUnboxed))
+                inspector -> inspector.assertUnboxed(EnumValueOf.MyEnum.class))
             .enableNeverClassInliningAnnotations()
             .addKeepRules(enumKeepRules.getKeepRules())
             .addOptionsModification(opt -> enableEnumOptions(opt, enumValueOptimization))
             .setMinApi(parameters.getApiLevel())
             .compile();
-    for (Class<?> success : SUCCESSES) {
+    for (Class<?> main : TESTS) {
       compile
-          .run(parameters.getRuntime(), success)
+          .run(parameters.getRuntime(), main)
           .assertSuccess()
           .inspectStdOut(this::assertLines2By2Correct);
     }