Workaround of a Jack front-end bug related to type inference
- ECJ 4.7 M3 fails to infer type in some cases, thus add a cast
to the expected type to workaround the bug.
Test: m -j32 (release bullhead userdebug)
Bug: 33371837
(cherry picked from commit 918efe9ba819b7a03729b6f6ef7ead2f70a20447)
Change-Id: I50326ddd753cc4bf6d1dfd349a046626d7e1fc33
diff --git a/jsr166-tests/src/test/java/jsr166/CompletableFutureTest.java b/jsr166-tests/src/test/java/jsr166/CompletableFutureTest.java
index 37bc285..b7a1f0f 100644
--- a/jsr166-tests/src/test/java/jsr166/CompletableFutureTest.java
+++ b/jsr166-tests/src/test/java/jsr166/CompletableFutureTest.java
@@ -3732,7 +3732,7 @@
(method) -> (method.getModifiers() & Modifier.STATIC) == 0;
List<Method> minimalMethods =
Stream.of(Object.class, CompletionStage.class)
- .flatMap((klazz) -> Stream.of(klazz.getMethods()))
+ .flatMap((klazz) -> (Stream<Method>) Stream.of(klazz.getMethods()))
.filter(isNotStatic)
.collect(Collectors.toList());
// Methods from CompletableFuture permitted NOT to throw UOE
diff --git a/ojluni/src/test/java/util/stream/test/org/openjdk/tests/java/util/stream/TabulatorsTest.java b/ojluni/src/test/java/util/stream/test/org/openjdk/tests/java/util/stream/TabulatorsTest.java
index 486a9cf..e8c7d17 100644
--- a/ojluni/src/test/java/util/stream/test/org/openjdk/tests/java/util/stream/TabulatorsTest.java
+++ b/ojluni/src/test/java/util/stream/test/org/openjdk/tests/java/util/stream/TabulatorsTest.java
@@ -606,7 +606,7 @@
@Test(dataProvider = "StreamTestData<Integer>", dataProviderClass = StreamTestDataProvider.class)
public void testComposeFinisher(String name, TestData.OfRef<Integer> data) throws ReflectiveOperationException {
List<Integer> asList = exerciseTerminalOps(data, s -> s.collect(toList()));
- List<Integer> asImmutableList = exerciseTerminalOps(data, s -> s.collect(collectingAndThen(toList(), Collections::unmodifiableList)));
+ List<Integer> asImmutableList = exerciseTerminalOps(data, s -> (List<Integer>) s.collect(collectingAndThen(toList(), Collections::unmodifiableList)));
assertEquals(asList, asImmutableList);
try {
asImmutableList.add(0);