langtools/test/tools/javac/lambda/SourceLevelTest.java
author vromero
Mon, 02 Sep 2013 22:38:36 +0100
changeset 19914 d86271bd430a
parent 14547 86d8d242b0c4
permissions -rw-r--r--
8016177: structural most specific and stuckness Reviewed-by: jjg, vromero Contributed-by: maurizio.cimadamore@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14547
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
     1
/*
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
     2
 * @test /nodynamiccopyright/
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
     3
 * @bug 8003280
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
     4
 * @summary Add lambda tests
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
     5
 *  check that lambda features are not enabled with source < 8
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
     6
 * @compile/fail/ref=SourceLevelTest.out -XDrawDiagnostics -source 7 SourceLevelTest.java
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
     7
 */
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
     8
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
     9
class SourceLevelTest {
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    10
    interface I {
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    11
        default void m() { SourceLevelTest.impl(this); }
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    12
    }
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    13
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    14
    interface SAM {
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    15
        void m();
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    16
    }
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    17
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    18
    SAM s1 = () -> { };
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    19
    SAM s2 = this::m;
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    20
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    21
    static void impl(I i) {}
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    22
    void m() {}
86d8d242b0c4 8003280: Add lambda tests
mcimadamore
parents:
diff changeset
    23
}