java: prohibit caching when using thread-local types imposed on expressions and decla...
[idea/community.git] / java / java-tests / testData / codeInsight / daemonCodeAnalyzer / lambda / highlighting / AmbiguitySpecificReturn.java
1 class IntStream {
2   private void foo(IntStream s) {
3     s.<error descr="Ambiguous method call: both 'IntStream.map(IntUnaryOperator)' and 'IntStream.map(ObjIntFunction<Object>)' match">map</error>(i -> <error descr="Operator '<<' cannot be applied to 'int', '<lambda parameter>'">1 << i</error>);
4     s.<error descr="Ambiguous method call: both 'IntStream.map(IntUnaryOperator)' and 'IntStream.map(ObjIntFunction<Object>)' match">map</error>(i -> 1);
5     s.<error descr="Ambiguous method call: both 'IntStream.map(IntUnaryOperator)' and 'IntStream.map(ObjIntFunction<Object>)' match">map</error>(i -> i);
6   }
7
8   public static void main(String[] args) {
9     new IntStream().foo(null);
10   }
11
12   private IntStream <warning descr="Private method 'map(IntUnaryOperator)' is never used">map</warning>(IntUnaryOperator mapper) {
13     System.out.println(mapper);
14     return null;
15   }
16
17   private <T> IntStream <warning descr="Private method 'map(ObjIntFunction<T>)' is never used">map</warning>(ObjIntFunction<T> mapper) {
18     System.out.println(mapper);
19     return null;
20   }
21 }
22
23 interface IntUnaryOperator {
24   public int applyAsInt(int operand);
25 }
26
27 interface ObjIntFunction<T> {
28   public T apply(int i);
29 }
30