| /* |
| * @test /nodynamiccopyright/ |
| * @bug 8003280 |
| * @summary Add lambda tests |
| * This test is for identifying a non-SAM type: Having overloaded methods due to inheritance |
| * @compile/fail/ref=NonSAM3.out -XDrawDiagnostics NonSAM3.java Helper.java |
| */ |
| |
| import java.util.Collection; |
| import java.util.List; |
| |
| public class NonSAM3 { |
| void method() { |
| //all of the following will have compile error: "the target type of a lambda conversion has multiple non-overriding abstract methods" |
| FooBar fb = (Number n) -> 100; |
| FooBar fb2 = (Integer i) -> 100; |
| DE de = (List<Integer> list) -> 100; |
| DE de2 = (List<?> list) -> 100; |
| DE de3 = (List list) -> 100; |
| DE de4 = (Collection<Integer> collection) -> 100; |
| DE de5 = (Collection<?> collection) -> 100; |
| DE de6 = (Collection collection) -> 100; |
| } |
| } |