incompatible parameter types in lambda expression message expanded (IDEA-134941)

This commit is contained in:
Anna Kozlova
2015-01-07 17:10:09 +01:00
parent 777397d0d2
commit af7da7a8f4
9 changed files with 29 additions and 25 deletions
@@ -27,7 +27,7 @@ class Test {
I i = flag ? (() -> 123) : (() -> 222);
I i1 = flag ? (() -> {<error descr="Missing return statement">}</error>) : (() -> 222);
Object i2 = flag ? (<error descr="Target type of a lambda conversion must be an interface">() -> 42</error>) : (<error descr="Target type of a lambda conversion must be an interface">() -> 222</error>);
I i3 = flag ? (<error descr="Incompatible parameter types in lambda expression">(x) -> 42</error>) : (() -> 222);
I i3 = flag ? (<error descr="Incompatible parameter types in lambda expression: wrong number of parameters: expected 0 but found 1">(x)</error> -> 42) : (() -> 222);
I i4 = flag ? (() -> 42) : new I() {
@Override
public int m() {
@@ -3,6 +3,6 @@ class LambdaConv10 {
interface I<T, R> { public R call( T t); }
{
I<Integer,Integer> in = (<error descr="Incompatible parameter types in lambda expression">int i</error>) -> 2 * i;
I<Integer,Integer> in = <error descr="Incompatible parameter types in lambda expression: expected Integer but found int">(int i)</error> -> 2 * i;
}
}
@@ -5,7 +5,7 @@ public class Test {
{
Predicate<? super Integer> p = (Number n) -> n.equals(23);
Predicate<Integer> p1 = (<error descr="Incompatible parameter types in lambda expression">Number n</error>) -> n.equals(23);
Predicate<Integer> p1 = <error descr="Incompatible parameter types in lambda expression: expected Integer but found Number">(Number n)</error> -> n.equals(23);
Predicate<Number> p2 = (Number n) -> n.equals(23);
}
}