299c620daeb24fec4a6695a93e8d7016f34dd307
[idea/community.git] / java / java-tests / testData / codeInsight / daemonCodeAnalyzer / lambda / overloadResolution / IDEA102800.java
1 import java.util.function.IntFunction;
2 import java.util.function.IntUnaryOperator;
3 import java.util.function.Supplier;
4 import java.util.stream.IntStream;
5 import java.util.stream.Stream;
6
7 class Test {
8
9   interface IntStream1 {
10     Stream<Integer> map(IntFunction<Integer> mapper);
11     IntStream1 map(IntUnaryOperator mapper);
12
13     Stream<Integer> boxed();
14   }
15
16   void fooBar(IntStream1 instr){
17     Supplier<Stream<Integer>> si = () -> instr.map ((i) -> (( <error descr="Operator '%' cannot be applied to '<lambda parameter>', 'int'">i % 2</error>) == 0) ? i : -i).boxed();
18     System.out.println(si);
19     Supplier<Stream<Integer>> si1 = () -> instr.map <error descr="Ambiguous method call: both 'IntStream1.map(IntFunction<Integer>)' and 'IntStream1.map(IntUnaryOperator)' match">(null)</error>.boxed();
20     System.out.println(si1);
21   }
22 }
23
24 class TestInitial {
25   void fooBar(){
26     Supplier<Stream<Integer>> si = () -> IntStream.range(0, 20).map((i) -> ((i % 2) == 0) ? i : -i).boxed();
27     System.out.println(si);
28   }
29 }
30
31