summaryrefslogtreecommitdiff
path: root/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/NestedLambdaExpressionsNoFormalParams.java
diff options
context:
space:
mode:
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.java55
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);
+ }
+}