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