diff options
Diffstat (limited to 'java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/NestedLambdaExpressionsNoFormalParams.java')
-rw-r--r-- | java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/NestedLambdaExpressionsNoFormalParams.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/NestedLambdaExpressionsNoFormalParams.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/NestedLambdaExpressionsNoFormalParams.java new file mode 100644 index 000000000000..2d6254525d44 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/NestedLambdaExpressionsNoFormalParams.java @@ -0,0 +1,55 @@ +import java.util.function.Function; +import java.util.stream.IntStream; +import java.util.stream.Stream; + +abstract class NoFormalParams { + interface I<T> { + T a(int a); + } + + <F> I<F> foo(I<F> i) { return null;} + + { + I<Integer> i = foo(a -> foo(b -> 1)).a(0); + foo(a -> foo(b -> 1)).a(0); + } +} + +abstract class NoFormalParamTypeInferenceNeeded { + interface I<T> { + T a(int a); + } + + abstract <RR> RR map(I<RR> mapper); + abstract <R, V> R zip(Function<V, R> zipper); + + { + map(a -> zip(text -> text)); + zip(a -> zip(text -> text)); + Integer zip = zip(<error descr="Cyclic inference">a -> zip(text -> text)</error>); + } + +} + +class IDEA124983 { + class Rectangle{ + public Rectangle(int i, int j, int h, int w) { + } + } + + void createGrid() { + IntStream.range(0, 4) + .mapToObj(i -> IntStream.range(0, 4).mapToObj(j -> { + Rectangle rect2 = new Rectangle(i * 64, j * 64, 64, 64); + return rect2; + })) + .flatMap(s -> s) + .forEach(this::add); + } + + void add(final Rectangle r) {} + + void simplified(final IntStream range) { + range.mapToObj(i -> range.mapToObj(j -> 1)).flatMap(s -> s); + } +} |