mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-05-06 05:10:22 +07:00
lambda: fix parameter types comparing order (IDEA-126056)
This commit is contained in:
@@ -66,7 +66,7 @@ public class LambdaHighlightingUtil {
|
||||
return lambdaParameter;
|
||||
}
|
||||
} else {
|
||||
if (!TypeConversionUtil.isAssignable(lambdaParameterType, substitutedParamType)) {
|
||||
if (!TypeConversionUtil.isAssignable(substitutedParamType, lambdaParameterType)) {
|
||||
return lambdaParameter;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
class StreamTest {
|
||||
public class Foo {}
|
||||
|
||||
List<? super Foo> all = new ArrayList<>();
|
||||
|
||||
void foo(final Predicate<Object> predicate, final Stream<? super Foo> stream){
|
||||
long the_count= stream.filter((a) -> predicate.test(a)).count();
|
||||
}
|
||||
|
||||
void foo1(final Predicate<Object> predicate, final Stream<? extends Foo> stream){
|
||||
long the_count= stream.filter((a) -> predicate.test(a)).count();
|
||||
}
|
||||
|
||||
void foo2(final Predicate<Object> predicate, final Stream<Foo> stream){
|
||||
long the_count= stream.filter((a) -> predicate.test(a)).count();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -222,6 +222,10 @@ public class NewLambdaHighlightingTest extends LightDaemonAnalyzerTestCase {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testIDEA126056() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
|
||||
private void doTest() {
|
||||
doTest(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user