test/tools/javac/generics/rare/6665356/T6665356.java

Thu, 31 Aug 2017 15:17:03 +0800

author
aoqi
date
Thu, 31 Aug 2017 15:17:03 +0800
changeset 2525
2eb010b6cb22
parent 384
ed31953ca025
parent 0
959103a6100f
permissions
-rw-r--r--

merge

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

mercurial