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);
}