summaryrefslogtreecommitdiff
path: root/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda')
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/IDEA127584.java22
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA127596.java9
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA126969.java15
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA127506.java24
4 files changed, 70 insertions, 0 deletions
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/IDEA127584.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/IDEA127584.java
new file mode 100644
index 000000000000..f1222505a708
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/IDEA127584.java
@@ -0,0 +1,22 @@
+class Test {
+ public static <Tfoo, Vfoo> Future<Vfoo> foo(Future<Tfoo> future, Function<Tfoo, Vfoo> function) {
+ return future.map(function);
+ }
+
+ // These interfaces inspired by FoundationDB Java client class files
+ interface PartialFunction <TP, VP> {
+ VP apply(TP t) throws java.lang.Exception;
+ }
+
+ interface Function <TF, VF> extends PartialFunction<TF, VF> {
+ VF apply(TF t);
+ }
+
+ interface PartialFuture <TPP> {
+ <VPP> PartialFuture<VPP> map(PartialFunction<TPP, VPP> partialFunction);
+ }
+
+ interface Future <TFF> extends PartialFuture<TFF> {
+ <VFF> Future<VFF> map(Function<TFF, VFF> function);
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA127596.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA127596.java
new file mode 100644
index 000000000000..20636674141b
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA127596.java
@@ -0,0 +1,9 @@
+class Executor<E> {
+ <K> void bar(Executor<K> e) {
+ Runnable r = () -> foo(e);
+ }
+
+ private <T> T foo(final Executor<T> e) {
+ return null;
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA126969.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA126969.java
new file mode 100644
index 000000000000..e981d28298b5
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA126969.java
@@ -0,0 +1,15 @@
+import java.util.Collection;
+import java.util.List;
+import java.util.stream.Stream;
+
+class IDEA126969 {
+ void foo(final Stream<List<Integer>> stream) {
+
+ stream.flatMap(List::stream)
+ .forEach(i -> System.out.println(i.floatValue()));
+
+ stream.flatMap(Collection::stream)
+ .forEach(i -> System.out.println(i.floatValue()));
+
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA127506.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA127506.java
new file mode 100644
index 000000000000..7abf6ba9427a
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA127506.java
@@ -0,0 +1,24 @@
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Stream;
+
+class Validator {
+ static boolean thereAreConstraintViolationsIn1(final Stream<Object> objectStream, Validator validator) {
+ Stream<Set<List<Object>>> rStream = objectStream
+ .map(validator::validate);
+ return rStream
+ .flatMap(set -> set.stream())
+ .findAny()
+ .isPresent();
+ }
+
+ static void thereAreConstraintViolationsIn(final Stream<Object> objectStream, Validator validator) {
+ Stream<Set<List<Object>>> rStream = objectStream.map(validator ::validate);
+
+ Stream<Set<List<Object>>> lStream = objectStream.map((a) -> validator.validate(a));
+ }
+
+ <T> Set<List<T>> validate(T var1, Class<?> ... var2) {
+ return null;
+ }
+} \ No newline at end of file