test/tools/javac/cast/6795580/T6795580.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 6795580
aoqi@0 5 * @summary parser confused by square brackets in qualified generic cast
aoqi@0 6 * @compile/fail/ref=T6795580.out -XDrawDiagnostics T6795580.java
aoqi@0 7 */
aoqi@0 8
aoqi@0 9 class T6795580 {
aoqi@0 10 class Outer<S> {
aoqi@0 11 class Inner<T> {}
aoqi@0 12 }
aoqi@0 13
aoqi@0 14 void cast1(Outer<Integer>.Inner<Long>[] p) {
aoqi@0 15 Object o = (Outer<Integer>.Inner<Long>[])p;
aoqi@0 16 }
aoqi@0 17
aoqi@0 18 void cast2(Outer<Integer>.Inner<Long>[] p) {
aoqi@0 19 Object o = (Outer<? extends Number>.Inner<Long>[])p;
aoqi@0 20 }
aoqi@0 21
aoqi@0 22 void cast3(Outer<Integer>.Inner<Long>[] p) {
aoqi@0 23 Object o = (Outer<Integer>.Inner<? extends Number>[])p;
aoqi@0 24 }
aoqi@0 25
aoqi@0 26 void cast4(Outer<Integer>.Inner<Long>[] p) {
aoqi@0 27 Object o = (Outer<? extends Number>.Inner<? extends Number>[])p;
aoqi@0 28 }
aoqi@0 29
aoqi@0 30 void cast5(Outer<Integer>.Inner<Long>[] p) {
aoqi@0 31 Object o = (Outer<? super Number>.Inner<Long>[])p;
aoqi@0 32 }
aoqi@0 33
aoqi@0 34 void cast6(Outer<Integer>.Inner<Long>[] p) {
aoqi@0 35 Object o = (Outer<Integer>.Inner<? super Number>[])p;
aoqi@0 36 }
aoqi@0 37
aoqi@0 38 void cast7(Outer<Integer>.Inner<Long>[] p) {
aoqi@0 39 Object o = (Outer<? super Number>.Inner<? super Number>[])p;
aoqi@0 40 }
aoqi@0 41
aoqi@0 42 void cast8(Outer<Integer>.Inner<Long>[] p) {
aoqi@0 43 Object o = (Outer<? extends String>.Inner<Long>[])p;
aoqi@0 44 }
aoqi@0 45
aoqi@0 46 void cast9(Outer<Integer>.Inner<Long>[] p) {
aoqi@0 47 Object o = (Outer<Integer>.Inner<? extends String>[])p;
aoqi@0 48 }
aoqi@0 49
aoqi@0 50 void cast10(Outer<Integer>.Inner<Long>[] p) {
aoqi@0 51 Object o = (Outer<? super String>.Inner<Long>[])p;
aoqi@0 52 }
aoqi@0 53
aoqi@0 54 void cast11(Outer<Integer>.Inner<Long>[] p) {
aoqi@0 55 Object o = (Outer<Integer>.Inner<? super String>[])p;
aoqi@0 56 }
aoqi@0 57 }

mercurial