Wed, 27 Apr 2016 01:34:52 +0800
Initial load
http://hg.openjdk.java.net/jdk8u/jdk8u/langtools/
changeset: 2573:53ca196be1ae
tag: jdk8u25-b17
aoqi@0 | 1 | import java.lang.annotation.*; |
aoqi@0 | 2 | import static java.lang.annotation.RetentionPolicy.*; |
aoqi@0 | 3 | import static java.lang.annotation.ElementType.*; |
aoqi@0 | 4 | import java.util.List; |
aoqi@0 | 5 | |
aoqi@0 | 6 | class testname <T> { // TestN.class |
aoqi@0 | 7 | _As _Bs _Cs _Ds String data = "test"; |
aoqi@0 | 8 | _As _Bs _Cs _Ds Object mtest( _As _Bs _Cs _Ds testname <T> t){ return null; } |
aoqi@0 | 9 | Object mmtest( testname<T> t){ return null; } |
aoqi@0 | 10 | |
aoqi@0 | 11 | class Inner<U> { // TestN$1$Inner.class |
aoqi@0 | 12 | _As _Bs _Cs _Ds String i_odata1 = "test"; |
aoqi@0 | 13 | _As _Bs _Cs _Ds int i_pdata1 = 0; |
aoqi@0 | 14 | _As _Bs _Cs _Ds U i_udata = null; |
aoqi@0 | 15 | //8015257 |
aoqi@0 | 16 | _As _Bs _Cs _Ds Object _As _Bs _Cs _Ds [] _As _Bs _Cs _Ds [] i_sa1 = null; |
aoqi@0 | 17 | _As _Bs _Cs _Ds T i_tdata = null; |
aoqi@0 | 18 | _As _Bs _Cs _Ds String i_m1(){ return null; }; |
aoqi@0 | 19 | _As _Bs _Cs _Ds int i_m2( _As _Bs _Cs _Ds Object o){return 0;} |
aoqi@0 | 20 | _As _Bs _Cs _Ds |
aoqi@0 | 21 | <_TAs _TBs _Cs _Ds U> Object i_um( _As _Bs _Cs _Ds U u) { return null; } |
aoqi@0 | 22 | } |
aoqi@0 | 23 | //8015323 |
aoqi@0 | 24 | _As _Bs _Cs _Ds Inner< _As _Bs _Cs _Ds String> IN = new Inner< String>(); |
aoqi@0 | 25 | |
aoqi@0 | 26 | public void test() { |
aoqi@0 | 27 | |
aoqi@0 | 28 | class Local1<U> { // TestN$Local1.class |
aoqi@0 | 29 | _As _Bs _Cs _Ds String l_odata1 = "test"; |
aoqi@0 | 30 | _As _Bs _Cs _Ds int l_pdata1 = 0; |
aoqi@0 | 31 | _As _Bs _Cs _Ds U l_udata = null; |
aoqi@0 | 32 | //8015257 |
aoqi@0 | 33 | _As _Bs _Cs _Ds Object _As _Bs _Cs _Ds []_As _Bs _Cs _Ds [] l_sa1 = null; |
aoqi@0 | 34 | _TAs _TBs _Cs _Ds T l_tdata = null; |
aoqi@0 | 35 | _As _Bs _Cs _Ds String l_m1(){ return null; }; |
aoqi@0 | 36 | _As _Bs _Cs _Ds int l_m2(_As _Bs _Cs _Ds Object o){return 0;} |
aoqi@0 | 37 | _As _Bs _Cs _Ds |
aoqi@0 | 38 | <_TAs _TBs _Cs _Ds U> Object l_um(_As _Bs _Cs _Ds U u) { return null; } |
aoqi@0 | 39 | } |
aoqi@0 | 40 | // The below, as a local variable, will show up on test() |
aoqi@0 | 41 | _As _Bs _Cs _Ds Local1<_As _Bs _Cs _Ds String> LC = new Local1<String>(); |
aoqi@0 | 42 | |
aoqi@0 | 43 | mtest( new testname<T>() { // TestN$1 |
aoqi@0 | 44 | class InnerAnon<U> { // TestN$1$InnerAnon.class |
aoqi@0 | 45 | _As _Bs _Cs _Ds String ia_odata1 = "test"; |
aoqi@0 | 46 | _As _Bs _Cs _Ds int ia_pdata1 = 0; |
aoqi@0 | 47 | _As _Bs _Cs _Ds U ia_udata = null; |
aoqi@0 | 48 | //8015257 |
aoqi@0 | 49 | _As _Bs _Cs _Ds Object _As _Bs _Cs _Ds []_As _Bs _Cs _Ds [] ia_sa1 = null; |
aoqi@0 | 50 | _TAs _TBs _Cs _Ds T ia_tdata = null; |
aoqi@0 | 51 | _As _Bs _Cs _Ds String ia_m1(){ return null; }; |
aoqi@0 | 52 | _As _Bs _Cs _Ds int ia_m2(_As _Bs _Cs _Ds Object o){return 0;} |
aoqi@0 | 53 | _As _Bs _Cs _Ds |
aoqi@0 | 54 | <_TAs _TBs _Cs _Ds U> Object ia_um(_As _Bs _Cs _Ds U u) { return null; } |
aoqi@0 | 55 | } |
aoqi@0 | 56 | //8015257 |
aoqi@0 | 57 | _As _Bs _Cs _Ds InnerAnon<_As _Bs _Cs _Ds String> IA = new InnerAnon< String>(); |
aoqi@0 | 58 | |
aoqi@0 | 59 | _As _Bs _Cs _Ds String odata1 = "test"; |
aoqi@0 | 60 | _As _Bs _Cs _Ds int pdata1 = 0; |
aoqi@0 | 61 | //8015257 |
aoqi@0 | 62 | _As _Bs _Cs _Ds Object _As _Bs _Cs _Ds []_As _Bs _Cs _Ds [] sa1 = null; |
aoqi@0 | 63 | _As _Bs _Cs _Ds T tdata = null; |
aoqi@0 | 64 | |
aoqi@0 | 65 | _As _Bs _Cs _Ds String m1(){ return null; }; |
aoqi@0 | 66 | _As _Bs _Cs _Ds int m2(_As _Bs _Cs _Ds Object o){return 0;} |
aoqi@0 | 67 | |
aoqi@0 | 68 | _As _Bs _Cs _Ds Object _As _Bs _Cs _Ds [] _As _Bs _Cs _Ds [] |
aoqi@0 | 69 | m3(String _As _Bs _Cs _Ds []_As _Bs _Cs _Ds [] sa){ return null; } |
aoqi@0 | 70 | |
aoqi@0 | 71 | _As _Bs _Cs _Ds |
aoqi@0 | 72 | <_TAs _TBs _Cs _Ds T> Object tm(_As _Bs _Cs _Ds T t) { return null; } |
aoqi@0 | 73 | |
aoqi@0 | 74 | public void atest( testname<T> t){ |
aoqi@0 | 75 | t.mmtest( new testname<T>() { // TestN$1$1.class |
aoqi@0 | 76 | _As _Bs _Cs _Ds String mm_odata1 = "test"; |
aoqi@0 | 77 | _As _Bs _Cs _Ds int mm_pdata1 = 0; |
aoqi@0 | 78 | //8015257 |
aoqi@0 | 79 | _As _Bs _Cs _Ds Object _As _Bs _Cs _Ds []_As _Bs _Cs _Ds [] mm_sa1 = null; |
aoqi@0 | 80 | _TAs _TBs _Cs _Ds T mm_tdata = null; |
aoqi@0 | 81 | |
aoqi@0 | 82 | _As _Bs _Cs _Ds String mm_m1(){ return null; }; |
aoqi@0 | 83 | _As _Bs _Cs _Ds int mm_m2(_As _Bs _Cs _Ds Object o){return 0;} |
aoqi@0 | 84 | |
aoqi@0 | 85 | _As _Bs _Cs _Ds String _As _Bs _Cs _Ds [] _As _Bs _Cs _Ds [] |
aoqi@0 | 86 | mm_m3(String _As _Bs _Cs _Ds []_As _Bs _Cs _Ds [] sa){ return null; } |
aoqi@0 | 87 | |
aoqi@0 | 88 | _As _Bs _Cs _Ds |
aoqi@0 | 89 | <_TAs _TBs _Cs _Ds T> Object mm_tm(_As _Bs _Cs _Ds T t) { return null; } |
aoqi@0 | 90 | }); |
aoqi@0 | 91 | } |
aoqi@0 | 92 | }); |
aoqi@0 | 93 | } |
aoqi@0 | 94 | } |
aoqi@0 | 95 | @Retention(RUNTIME) @Target({TYPE_USE,FIELD}) @Repeatable( AC.class ) @interface A { } |
aoqi@0 | 96 | @Retention(RUNTIME) @Target({TYPE_USE,METHOD}) @Repeatable( BC.class ) @interface B { } |
aoqi@0 | 97 | @Retention(RUNTIME) @Target({TYPE_USE,FIELD}) @interface AC { A[] value(); } |
aoqi@0 | 98 | @Retention(RUNTIME) @Target({TYPE_USE,METHOD}) @interface BC { B[] value(); } |
aoqi@0 | 99 | |
aoqi@0 | 100 | @Retention(CLASS) @Target({TYPE_USE,FIELD}) @Repeatable( CC.class ) @interface C { } |
aoqi@0 | 101 | @Retention(CLASS) @Target({TYPE_USE,METHOD}) @Repeatable( DC.class ) @interface D { } |
aoqi@0 | 102 | @Retention(CLASS) @Target({TYPE_USE,FIELD}) @interface CC { C[] value(); } |
aoqi@0 | 103 | @Retention(CLASS) @Target({TYPE_USE,METHOD}) @interface DC { D[] value(); } |
aoqi@0 | 104 | |
aoqi@0 | 105 | @Retention(RUNTIME) @Target({TYPE_USE,TYPE_PARAMETER,FIELD}) @Repeatable( TAC.class ) @interface TA { } |
aoqi@0 | 106 | @Retention(RUNTIME) @Target({TYPE_USE,TYPE_PARAMETER,METHOD}) @Repeatable( TBC.class ) @interface TB { } |
aoqi@0 | 107 | @Retention(RUNTIME) @Target({TYPE_USE,TYPE_PARAMETER,FIELD}) @interface TAC { TA[] value(); } |
aoqi@0 | 108 | @Retention(RUNTIME) @Target({TYPE_USE,TYPE_PARAMETER,METHOD}) @interface TBC { TB[] value(); } |