diff options
Diffstat (limited to 'java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda')
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 |