aa18671e3f487745064de4efa362b0c112378158
[idea/community.git] / java / java-tests / testData / codeInsight / daemonCodeAnalyzer / lambda / params / MethodApplicability.java
1 interface I {
2   void m(int i);
3 }
4 interface J {
5   void mm(int i, int j);
6 }
7 interface K {
8   void k(String m);
9 }
10
11 class Foo {
12   void foo(I i){}
13   void foo(J j){}
14   void foo(K k){}
15
16   void bar() {
17     foo((p) -> {
18       System.out.println<error descr="Cannot resolve method 'println(<lambda parameter>)'">(p)</error>;
19     });
20
21     foo((p, k) -> {
22       System.out.println(p);
23     });
24
25     foo((String s) ->{
26       System.out.println(s);
27     });
28
29     foo<error descr="Cannot resolve method 'foo(<lambda expression>)'">((String p, String k) -> {
30       System.out.println(p);
31     })</error>;
32   }
33 }
34
35 class WithTypeParams {
36   interface I<T> {
37     void m(T t);
38   }
39
40   interface J<K, V> {
41     void n(K k, V v);
42   }
43
44   class Foo {
45     void foo(I<String> i){}
46     void foo(J<String, String> j){}
47     
48     void bar() {
49       foo((p) -> {
50         System.out.println(p);
51       });
52   
53       foo((p, k) -> {
54         System.out.println(p);
55       });
56   
57       foo((String s) ->{
58         System.out.println(s);
59       });
60   
61       foo((String p, String k) -> {
62         System.out.println(p);
63       });
64   
65       foo<error descr="Cannot resolve method 'foo(<lambda expression>)'">((int k) -> {System.out.println(k);})</error>;
66     }
67   }
68 }