langtools/test/tools/javac/lambda/funcInterfaces/NonSAM3.java
changeset 14547 86d8d242b0c4
equal deleted inserted replaced
14546:7e2a1569de76 14547:86d8d242b0c4
       
     1 /*
       
     2  * @test /nodynamiccopyright/
       
     3  * @bug 8003280
       
     4  * @summary Add lambda tests
       
     5  *   This test is for identifying a non-SAM type: Having overloaded methods due to inheritance
       
     6  * @compile/fail/ref=NonSAM3.out -XDrawDiagnostics NonSAM3.java Helper.java
       
     7  */
       
     8 
       
     9 import java.util.Collection;
       
    10 import java.util.List;
       
    11 
       
    12 public class NonSAM3 {
       
    13     void method() {
       
    14         //all of the following will have compile error: "the target type of a lambda conversion has multiple non-overriding abstract methods"
       
    15         FooBar fb = (Number n) -> 100;
       
    16         FooBar fb2 = (Integer i) -> 100;
       
    17         DE de = (List<Integer> list) -> 100;
       
    18         DE de2 = (List<?> list) -> 100;
       
    19         DE de3 = (List list) -> 100;
       
    20         DE de4 = (Collection<Integer> collection) -> 100;
       
    21         DE de5 = (Collection<?> collection) -> 100;
       
    22         DE de6 = (Collection collection) -> 100;
       
    23     }
       
    24 }