author | mcimadamore |
Mon, 07 Feb 2011 18:10:13 +0000 | |
changeset 8242 | 3873b4aaf4a8 |
parent 7628 | e7baeb97d164 |
child 45413 | 75202c6b2c35 |
permissions | -rw-r--r-- |
7628
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
1 |
/** |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
2 |
* @test /nodynamiccopyright/ |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
3 |
* @bug 6476118 |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
4 |
* @summary compiler bug causes runtime ClassCastException for generics overloading |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
5 |
* @compile/fail/ref=T6476118c.out -XDrawDiagnostics T6476118c.java |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
6 |
*/ |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
7 |
|
8242
3873b4aaf4a8
7007615: java_util/generics/phase2/NameClashTest02 fails since jdk7/pit/b123.
mcimadamore
parents:
7628
diff
changeset
|
8 |
class T6476118c { |
7628
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
9 |
static class A<T> { |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
10 |
public void foo(T t) { } |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
11 |
} |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
12 |
|
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
13 |
static class B<T extends Number> extends A<T> { |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
14 |
public void foo(T t) { } |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
15 |
} |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
16 |
|
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
17 |
static class C extends B<Integer> { |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
18 |
public void foo(Object o) { } |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
19 |
public void foo(Number o) { } |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
20 |
} |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
21 |
|
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
22 |
static class D extends C {} //check that no spurious diags generated here! |
e7baeb97d164
6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff
changeset
|
23 |
} |