Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/params/InferredParams.java
2012-07-20 18:59:18 +02:00

60 lines
1.4 KiB
Java

import java.lang.Integer;
interface I {
void m(int i);
}
interface A<B> {
void foo(B b);
}
class Foo {
I ii = (final <error descr="Cannot resolve symbol 'k'">k</error><error descr="Identifier expected">)</error>->{};
I ii1 = (k)->{
int i = k;
<error descr="Incompatible types. Found: 'int', required: 'java.lang.String'">String s = k;</error>
};
A<String> a = (ab) -> {
String s = ab;
<error descr="Incompatible types. Found: 'java.lang.String', required: 'int'">int i = ab;</error>
};
{
A<String> a1;
a1 = (ab)->{
String s = ab;
<error descr="Incompatible types. Found: 'java.lang.String', required: 'int'">int i = ab;</error>
};
}
A<Integer> bazz() {
bar((o) -> {
String s = o;
<error descr="Incompatible types. Found: 'java.lang.String', required: 'int'">int i = o;</error>
});
return (i) -> {
Integer k = i;
int n = i;
<error descr="Incompatible types. Found: 'java.lang.Integer', required: 'java.lang.String'">String s = i;</error>
};
}
void bar(A<String> a){}
}
class CastInference {
public interface I1<X> {
X m();
}
public interface I2<X> {
X m();
}
public static <X> void foo(I1<X> s) {}
public static <X> void foo(I2<X> s) {}
public static void main(String[] args) {
foo((I1<Integer>)() -> 42);
I1<Integer> i1 = (I1<Integer>)() -> 42;
}
}