langtools/test/tools/javac/generics/7151802/T7151802.java
author mcimadamore
Fri, 09 Mar 2012 17:10:56 +0000
changeset 12087 31eeebc3ef49
permissions -rw-r--r--
7151802: compiler update caused sqe test failed Summary: Fix regression caused by 7144506 Reviewed-by: jjg, dlsmith
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12087
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
     1
/*
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
     2
 * @test /nodynamiccopyright/
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
     3
 * @bug     7151802
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
     4
 * @summary compiler update caused sqe test failed
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
     5
 * @compile/fail/ref=T7151802.out -Werror -Xlint:unchecked -XDrawDiagnostics T7151802.java
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
     6
 */
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
     7
class T7151802 {
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
     8
    static class Foo<X> { }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
     9
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    10
    static class SubFoo<X> extends Foo<X> { }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    11
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    12
    //generic - bound - arg - non-slilent
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    13
    <Z extends Foo<String>> void get1(Z fz) { }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    14
    void test1(Foo foo) { get1(foo); }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    15
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    16
    //generic - bound - arg - silent
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    17
    <Z extends Foo<?>> void get2(Z fz) { }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    18
    void test2(Foo foo) { get2(foo); }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    19
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    20
    //generic - nobound - arg - non-slilent
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    21
    <Z> void get3(Foo<Z> fz) { }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    22
    void test(Foo foo) { get3(foo); }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    23
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    24
    //generic - nobound - arg - slilent
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    25
    <Z> void get4(Foo<?> fz) { }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    26
    void test4(Foo foo) { get4(foo); }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    27
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    28
    //generic - bound - ret - non-slilent
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    29
    <Z extends Foo<String>> Z get5() { return null; }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    30
    void test5() { SubFoo sf = get5(); }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    31
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    32
    //generic - bound - ret - slilent
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    33
    static <Z extends Foo<?>> Z get6() { return null; }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    34
    void test6() { SubFoo sf = get6(); }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    35
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    36
    //nogeneric - nobound - arg - non-slilent
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    37
    void get7(Foo<String> fz) { }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    38
    void test7(Foo foo) { get7(foo); }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    39
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    40
    //nogeneric - nobound - arg - slilent
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    41
    static void get8(Foo<?> fz) { }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    42
    void test8(Foo foo) { get8(foo); }
31eeebc3ef49 7151802: compiler update caused sqe test failed
mcimadamore
parents:
diff changeset
    43
}