Thu, 31 Aug 2017 15:17:03 +0800
merge
1 /*
2 * @test /nodynamiccopyright/
3 * @author Maurizio Cimadamore
4 * @bug 6665356
5 * @summary Cast not allowed when both qualifying type and inner class are parameterized
6 * @compile/fail/ref=T6665356.out -XDrawDiagnostics T6665356.java
7 */
9 class T6665356 {
10 class Outer<S> {
11 class Inner<T> {}
12 }
14 void test1() {
15 boolean b;
16 b = null instanceof Outer.Inner;
17 b = null instanceof Outer<?>.Inner;
18 b = null instanceof Outer.Inner<?>;
19 b = null instanceof Outer<?>.Inner<?>;
20 }
22 void test2() {
23 boolean b;
24 Object o;
25 o = (Outer.Inner)null;
26 o = (Outer<?>.Inner)null;
27 o = (Outer.Inner<?>)null;
28 o = (Outer<?>.Inner<?>)null;
29 }
30 }