1.1 --- a/test/tools/javap/output/RepeatingTypeAnnotations.java Tue May 14 13:55:35 2013 -0700 1.2 +++ b/test/tools/javap/output/RepeatingTypeAnnotations.java Tue May 14 15:04:06 2013 -0700 1.3 @@ -121,280 +121,307 @@ 1.4 */ 1.5 1.6 @TestCase 1.7 - @ignore // 8008082: missing type annotation for cast 1.8 public static class TC1 extends RepeatingTypeAnnotations { 1.9 public TC1() { 1.10 - setSrc(" static String so = \"hello world\";", 1.11 + setSrc(" /* TC1 */ ", 1.12 + " static String so = \"hello world\";", 1.13 " public @A @A @A Object o = (@A @A @A String) Test.so;"); 1.14 verify("RuntimeInvisibleTypeAnnotations", 1.15 "0: #25(#26=[@#27(),@#27(),@#27()]): FIELD", 1.16 - "1: #25(#26=[@#27(),@#27(),@#27()]): CAST, offset=5"); 1.17 + "0: #25(#26=[@#27(),@#27(),@#27()]): CAST, offset=5, type_index=0"); 1.18 } 1.19 } 1.20 1.21 @TestCase 1.22 public static class TC2 extends RepeatingTypeAnnotations { 1.23 public TC2() { 1.24 - setSrc(" static String so = \"hello world\";", 1.25 + setSrc(" /* TC2 */ ", 1.26 + " static String so = \"hello world\";", 1.27 " public @A @B @A Object o = (@B @A @B String) Test.so;"); 1.28 verify("RuntimeInvisibleTypeAnnotations", 1.29 "0: #25(#26=[@#27(),@#27()]): FIELD", 1.30 "1: #28(): FIELD", 1.31 - "2: #29(#26=[@#28(),@#28()]): CAST, offset=5", 1.32 - "3: #27(): CAST, offset=5"); 1.33 + "0: #36(#26=[@#28(),@#28()]): CAST, offset=5, type_index=0", 1.34 + "1: #27(): CAST, offset=5, type_index=0"); 1.35 } 1.36 } 1.37 1.38 @TestCase 1.39 public static class TC3 extends RepeatingTypeAnnotations { 1.40 public TC3() { 1.41 - setSrc(" static String so = \"hello world\";", 1.42 + setSrc(" /* TC3 */ ", 1.43 + " static String so = \"hello world\";", 1.44 " public @A @A @C Object o = (@B @C @B String) Test.so;"); 1.45 - verify("RuntimeInvisibleTypeAnnotations", 1.46 + verify("RuntimeVisibleTypeAnnotations", 1.47 + "RuntimeInvisibleTypeAnnotations", 1.48 "0: #25(): FIELD", 1.49 - "1: #25(): CAST, offset=5", 1.50 - "RuntimeVisibleTypeAnnotations", 1.51 "0: #27(#28=[@#29(),@#29()]): FIELD", 1.52 - "1: #30(#28=[@#31(),@#31()]): CAST, offset=5"); 1.53 + "0: #25(): CAST, offset=5, type_index=0", 1.54 + "0: #37(#28=[@#38(),@#38()]): CAST, offset=5, type_index=0"); 1.55 } 1.56 } 1.57 1.58 @TestCase 1.59 public static class TC4 extends RepeatingTypeAnnotations { 1.60 public TC4() { 1.61 - setSrc(" static String so = \"hello world\";", 1.62 + setSrc(" /* TC4 */ ", 1.63 + " static String so = \"hello world\";", 1.64 " public @A @B @C Object o = (@C @B @A String) Test.so;"); 1.65 verify("RuntimeInvisibleTypeAnnotations", 1.66 "RuntimeVisibleTypeAnnotations", 1.67 "0: #25(): FIELD", 1.68 - "1: #25(): CAST, offset=5", 1.69 "0: #27(): FIELD", 1.70 "1: #28(): FIELD", 1.71 - "2: #28(): CAST, offset=5", 1.72 - "3: #27(): CAST, offset=5"); 1.73 + "0: #25(): CAST, offset=5, type_index=0", 1.74 + "0: #28(): CAST, offset=5, type_index=0", 1.75 + "1: #27(): CAST, offset=5, type_index=0"); 1.76 } 1.77 } 1.78 1.79 @TestCase 1.80 - @ignore // 8008082: missing type annotation for cast 1.81 public static class TC5 extends RepeatingTypeAnnotations { 1.82 public TC5() { 1.83 - setSrc(" static String so = \"hello world\";", 1.84 + setSrc(" /* TC5 */ ", 1.85 + " static String so = \"hello world\";", 1.86 " public static @A @A @A Object o = (@B @B @B String) Test.so;"); 1.87 verify("RuntimeInvisibleTypeAnnotations", 1.88 "0: #25(#26=[@#27(),@#27(),@#27()]): FIELD", 1.89 - "1: #28(#26=[@#29(),@#29(),@#29()]): CAST, offset=5, type_index=0"); 1.90 + "0: #36(#26=[@#37(),@#37(),@#37()]): CAST, offset=5, type_index=0"); 1.91 } 1.92 } 1.93 1.94 @TestCase 1.95 public static class TC6 extends RepeatingTypeAnnotations { 1.96 public TC6() { 1.97 - setSrc(" static String so = \"hello world\";", 1.98 + setSrc(" /* TC6 */ ", 1.99 + " static String so = \"hello world\";", 1.100 " public static @A @B @A Object o = (@B @A @B String) Test.so;"); 1.101 verify("RuntimeInvisibleTypeAnnotations", 1.102 "0: #25(#26=[@#27(),@#27()]): FIELD", 1.103 "1: #28(): FIELD", 1.104 - "2: #29(#26=[@#28(),@#28()]): CAST, offset=5", 1.105 - "3: #27(): CAST, offset=5"); 1.106 + "0: #37(#26=[@#28(),@#28()]): CAST, offset=5, type_index=0", 1.107 + "1: #27(): CAST, offset=5, type_index=0"); 1.108 } 1.109 } 1.110 1.111 @TestCase 1.112 public static class TC7 extends RepeatingTypeAnnotations { 1.113 public TC7() { 1.114 - setSrc(" static String so = \"hello world\";", 1.115 + setSrc(" /* TC7 */ ", 1.116 + " static String so = \"hello world\";", 1.117 " public static @A @A @C Object o = (@B @C @B String) Test.so;"); 1.118 - verify("RuntimeInvisibleTypeAnnotations", 1.119 - "RuntimeVisibleTypeAnnotations", 1.120 + verify("RuntimeVisibleTypeAnnotations", 1.121 + "RuntimeInvisibleTypeAnnotations", 1.122 "0: #25(): FIELD", 1.123 - "1: #25(): CAST, offset=5", 1.124 "0: #27(#28=[@#29(),@#29()]): FIELD", 1.125 - "1: #30(#28=[@#31(),@#31()]): CAST, offset=5"); 1.126 + "0: #25(): CAST, offset=5, type_index=0", 1.127 + "0: #38(#28=[@#39(),@#39()]): CAST, offset=5, type_index=0"); 1.128 } 1.129 } 1.130 1.131 @TestCase 1.132 public static class TC8 extends RepeatingTypeAnnotations { 1.133 public TC8() { 1.134 - setSrc(" static String so = \"hello world\";", 1.135 + setSrc(" /* TC8 */ ", 1.136 + " static String so = \"hello world\";", 1.137 " public static @A @B @C Object o = (@C @B @A String) Test.so;"); 1.138 - verify("RuntimeInvisibleTypeAnnotations", 1.139 - "RuntimeVisibleTypeAnnotations", 1.140 + 1.141 + verify("RuntimeVisibleTypeAnnotations", 1.142 + "RuntimeInvisibleTypeAnnotations", 1.143 "0: #25(): FIELD", 1.144 - "1: #25(): CAST, offset=5", 1.145 "0: #27(): FIELD", 1.146 "1: #28(): FIELD", 1.147 - "2: #28(): CAST, offset=5", 1.148 - "3: #27(): CAST, offset=5"); 1.149 + "0: #25(): CAST, offset=5, type_index=0", 1.150 + "0: #28(): CAST, offset=5, type_index=0", 1.151 + "1: #27(): CAST, offset=5, type_index=0"); 1.152 } 1.153 } 1.154 1.155 @TestCase 1.156 - @ignore // 8008082: missing type annotation for cast 1.157 public static class TC9 extends RepeatingTypeAnnotations { 1.158 public TC9() { 1.159 - setSrc(" public Test(@A @A @A Object o, @A int i, long l) {", 1.160 + setSrc(" /* TC9 */ ", 1.161 + " public Test(@A @A @A Object o, @A int i, long l) {", 1.162 " @A @A @A String ls = (@B @B @B String) o;", 1.163 " }"); 1.164 verify("RuntimeInvisibleTypeAnnotations", 1.165 - "0: #34(#35=[@#36(),@#36(),@#36()]): METHOD_FORMAL_PARAMETER, param_index=0", 1.166 - "1: #36(): METHOD_FORMAL_PARAMETER, param_index=1", 1.167 - "2: #37(#35=[@#38(),@#38(),@#38()]): CAST, offset=4, type_index=0", 1.168 - "3: #34(#35=[@#36(),@#36(),@#36()]): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}"); 1.169 + "0: #34(#35=[@#36(),@#36(),@#36()]): CAST, offset=4, type_index=0", 1.170 + "1: #37(#35=[@#38(),@#38(),@#38()]): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}", 1.171 + "RuntimeInvisibleTypeAnnotations", 1.172 + "0: #37(#35=[@#38(),@#38(),@#38()]): METHOD_FORMAL_PARAMETER, param_index=0", 1.173 + "1: #38(): METHOD_FORMAL_PARAMETER, param_index=1"); 1.174 } 1.175 } 1.176 1.177 @TestCase 1.178 public static class TC10 extends RepeatingTypeAnnotations { 1.179 public TC10() { 1.180 - setSrc(" public Test(@A @A @B Object o, @A @B int i, long l) {", 1.181 + setSrc(" /* TC10 */ ", 1.182 + " public Test(@A @A @B Object o, @A @B int i, long l) {", 1.183 " @A @A @B String ls = (@B @A @B String) o;", 1.184 " }"); 1.185 - verify("RuntimeInvisibleTypeAnnotations:", 1.186 - "0: #34(#35=[@#36(),@#36()]): METHOD_FORMAL_PARAMETER, param_index=0", 1.187 - "1: #37(): METHOD_FORMAL_PARAMETER, param_index=0", 1.188 - "2: #36(): METHOD_FORMAL_PARAMETER, param_index=1", 1.189 - "3: #37(): METHOD_FORMAL_PARAMETER, param_index=1", 1.190 - "4: #38(#35=[@#37(),@#37()]): CAST, offset=4, type_index=0", 1.191 - "5: #36(): CAST, offset=4, type_index=0", 1.192 - "6: #34(#35=[@#36(),@#36()]): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}", 1.193 - "7: #37(): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}"); 1.194 + verify("RuntimeInvisibleTypeAnnotations", 1.195 + "0: #34(#35=[@#36(),@#36()]): CAST, offset=4, type_index=0", 1.196 + "1: #37(): CAST, offset=4, type_index=0", 1.197 + "2: #38(#35=[@#37(),@#37()]): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}", 1.198 + "3: #36(): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}", 1.199 + "RuntimeInvisibleTypeAnnotations", 1.200 + "0: #38(#35=[@#37(),@#37()]): METHOD_FORMAL_PARAMETER, param_index=0", 1.201 + "1: #36(): METHOD_FORMAL_PARAMETER, param_index=0", 1.202 + "2: #37(): METHOD_FORMAL_PARAMETER, param_index=1", 1.203 + "3: #36(): METHOD_FORMAL_PARAMETER, param_index=1"); 1.204 } 1.205 } 1.206 1.207 @TestCase 1.208 public static class TC11 extends RepeatingTypeAnnotations { 1.209 public TC11() { 1.210 - setSrc(" public Test(@C @C @A Object o, @A @B int i, long l) {", 1.211 + setSrc(" /* TC11 */ ", 1.212 + " public Test(@C @C @A Object o, @A @B int i, long l) {", 1.213 " @C @C @A String ls = (@A @A @C String) o;", 1.214 " }"); 1.215 - verify("RuntimeInvisibleTypeAnnotations", 1.216 - "RuntimeVisibleTypeAnnotations", 1.217 - "0: #34(#35=[@#36(),@#36()]): METHOD_FORMAL_PARAMETER, param_index=0", 1.218 - "1: #36(): CAST, offset=4", 1.219 - "2: #34(#35=[@#36(),@#36()]): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}", 1.220 - "0: #38(): METHOD_FORMAL_PARAMETER, param_index=0", 1.221 - "1: #38(): METHOD_FORMAL_PARAMETER, param_index=1", 1.222 - "2: #39(): METHOD_FORMAL_PARAMETER, param_index=1", 1.223 - "3: #40(#35=[@#38(),@#38()]): CAST, offset=4", 1.224 - "4: #38(): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}"); 1.225 + verify("RuntimeVisibleTypeAnnotations", 1.226 + "RuntimeInvisibleTypeAnnotations", 1.227 + "0: #34(): CAST, offset=4, type_index=0", 1.228 + "1: #35(#36=[@#34(),@#34()]): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}", 1.229 + "0: #38(#36=[@#39(),@#39()]): CAST, offset=4, type_index=0", 1.230 + "1: #39(): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}", 1.231 + "0: #35(#36=[@#34(),@#34()]): METHOD_FORMAL_PARAMETER, param_index=0", 1.232 + "0: #39(): METHOD_FORMAL_PARAMETER, param_index=0", 1.233 + "1: #39(): METHOD_FORMAL_PARAMETER, param_index=1", 1.234 + "2: #40(): METHOD_FORMAL_PARAMETER, param_index=1"); 1.235 } 1.236 } 1.237 1.238 @TestCase 1.239 public static class TC12 extends RepeatingTypeAnnotations { 1.240 public TC12() { 1.241 - setSrc(" public Test(@A @B @C Object o, @A @C int i, long l) {", 1.242 + setSrc(" /* TC12 */ ", 1.243 + " public Test(@A @B @C Object o, @A @C int i, long l) {", 1.244 " @A @B @C String ls = (@C @A @B String) o;", 1.245 " }"); 1.246 - verify("RuntimeInvisibleTypeAnnotations", 1.247 - "RuntimeVisibleTypeAnnotations", 1.248 + verify("RuntimeVisibleTypeAnnotations", 1.249 + "0: #34(): CAST, offset=4, type_index=0", 1.250 + "1: #34(): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}", 1.251 + "RuntimeInvisibleTypeAnnotations", 1.252 + "0: #36(): CAST, offset=4, type_index=0", 1.253 + "1: #37(): CAST, offset=4, type_index=0", 1.254 + "2: #36(): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}", 1.255 + "3: #37(): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}", 1.256 "0: #34(): METHOD_FORMAL_PARAMETER, param_index=0", 1.257 "1: #34(): METHOD_FORMAL_PARAMETER, param_index=1", 1.258 - "2: #34(): CAST, offset=4", 1.259 - "3: #34(): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}", 1.260 "0: #36(): METHOD_FORMAL_PARAMETER, param_index=0", 1.261 "1: #37(): METHOD_FORMAL_PARAMETER, param_index=0", 1.262 - "2: #36(): METHOD_FORMAL_PARAMETER, param_index=1", 1.263 - "3: #36(): CAST, offset=4", 1.264 - "4: #37(): CAST, offset=4", 1.265 - "5: #36(): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}", 1.266 - "6: #37(): LOCAL_VARIABLE, {start_pc=10, length=1, index=5}"); 1.267 + "2: #36(): METHOD_FORMAL_PARAMETER, param_index=1"); 1.268 } 1.269 } 1.270 1.271 @TestCase 1.272 - @ignore // 8008082: missing type annotation for cast 1.273 public static class TC13 extends RepeatingTypeAnnotations { 1.274 public TC13() { 1.275 - setSrc(" public @A @A @A String foo(@A @A @A Object o, @A int i, long l) {", 1.276 + setSrc(" /* TC13 */ ", 1.277 + " public @A @A @A String foo(@A @A @A Object o, @A int i, long l) {", 1.278 " @A @A @A String ls = (@B @B @B String) o;", 1.279 " return (@A @A @A String) o;", 1.280 " }"); 1.281 verify("RuntimeInvisibleTypeAnnotations", 1.282 - "0: #36(#37=[@#38(),@#38(),@#38()]): METHOD_RETURN", 1.283 - "1: #36(#37=[@#38(),@#38(),@#38()]): METHOD_FORMAL_PARAMETER, param_index=0", 1.284 - "2: #38(): METHOD_FORMAL_PARAMETER, param_index=1", 1.285 - "3: #39(#37=[@#40(),@#40(),@#40()]): CAST, offset=0, type_index=0", 1.286 - "4: #36(#37=[@#38(),@#38(),@#38()]): CAST, offset=6, type_index=0", 1.287 - "5: #36(#37=[@#38(),@#38(),@#38()]): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}"); 1.288 + "0: #36(#37=[@#38(),@#38(),@#38()]): CAST, offset=0, type_index=0", 1.289 + "1: #39(#37=[@#40(),@#40(),@#40()]): CAST, offset=6, type_index=0", 1.290 + "2: #39(#37=[@#40(),@#40(),@#40()]): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}", 1.291 + "RuntimeInvisibleTypeAnnotations", 1.292 + "0: #39(#37=[@#40(),@#40(),@#40()]): METHOD_RETURN", 1.293 + "1: #39(#37=[@#40(),@#40(),@#40()]): METHOD_FORMAL_PARAMETER, param_index=0", 1.294 + "2: #40(): METHOD_FORMAL_PARAMETER, param_index=1"); 1.295 } 1.296 } 1.297 1.298 @TestCase 1.299 public static class TC14 extends RepeatingTypeAnnotations { 1.300 public TC14() { 1.301 - setSrc(" public @A @B @B String foo(@A @A @B Object o, @A @B int i, long l) {", 1.302 + setSrc(" /* TC14 */ ", 1.303 + " public @A @B @B String foo(@A @A @B Object o, @A @B int i, long l) {", 1.304 " @A @A @B String ls = (@B @A @B String) o;", 1.305 " return (@A @B @B String) o;", 1.306 " }"); 1.307 - verify("RuntimeInvisibleTypeAnnotations", 1.308 - "0: #36(): METHOD_RETURN", 1.309 - "1: #37(#38=[@#39(),@#39()]): METHOD_RETURN", 1.310 - "2: #40(#38=[@#36(),@#36()]): METHOD_FORMAL_PARAMETER, param_index=0", 1.311 - "3: #39(): METHOD_FORMAL_PARAMETER, param_index=0", 1.312 - "4: #36(): METHOD_FORMAL_PARAMETER, param_index=1", 1.313 - "5: #39(): METHOD_FORMAL_PARAMETER, param_index=1", 1.314 - "6: #37(#38=[@#39(),@#39()]): CAST, offset=0", 1.315 - "7: #36(): CAST, offset=0", 1.316 - "8: #36(): CAST, offset=6", 1.317 - "9: #37(#38=[@#39(),@#39()]): CAST, offset=6", 1.318 - "10: #40(#38=[@#36(),@#36()]): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}", 1.319 - "11: #39(): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}"); 1.320 + verify( 1.321 + "RuntimeInvisibleTypeAnnotations:", 1.322 + "0: #36(#37=[@#38(),@#38()]): CAST, offset=0, type_index=0", 1.323 + "1: #39(): CAST, offset=0, type_index=0", 1.324 + "2: #39(): CAST, offset=6, type_index=0", 1.325 + "3: #36(#37=[@#38(),@#38()]): CAST, offset=6, type_index=0", 1.326 + "4: #40(#37=[@#39(),@#39()]): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}", 1.327 + "5: #38(): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}", 1.328 + "RuntimeInvisibleTypeAnnotations:", 1.329 + "0: #39(): METHOD_RETURN", 1.330 + "1: #36(#37=[@#38(),@#38()]): METHOD_RETURN", 1.331 + "2: #40(#37=[@#39(),@#39()]): METHOD_FORMAL_PARAMETER, param_index=0", 1.332 + "3: #38(): METHOD_FORMAL_PARAMETER, param_index=0", 1.333 + "4: #39(): METHOD_FORMAL_PARAMETER, param_index=1", 1.334 + "5: #38(): METHOD_FORMAL_PARAMETER, param_index=1" 1.335 + ); 1.336 } 1.337 } 1.338 1.339 @TestCase 1.340 public static class TC15 extends RepeatingTypeAnnotations { 1.341 public TC15() { 1.342 - setSrc(" public @A @A @C String foo(@C @C @A Object o, @A @B int i, long l) {", 1.343 + setSrc(" /* TC15 */ ", 1.344 + " public @A @A @C String foo(@C @C @A Object o, @A @B int i, long l) {", 1.345 " @C @C @A String ls = (@A @A @C String) o;", 1.346 " return (@C @B @B String) o;", 1.347 " }"); 1.348 - verify("RuntimeInvisibleTypeAnnotations", 1.349 - "RuntimeVisibleTypeAnnotations", 1.350 - "0: #36(): METHOD_RETURN", 1.351 - "1: #37(#38=[@#36(),@#36()]): METHOD_FORMAL_PARAMETER, param_index=0", 1.352 - "2: #36(): CAST, offset=0", 1.353 - "3: #36(): CAST, offset=6", 1.354 - "4: #37(#38=[@#36(),@#36()]): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}", 1.355 - "0: #40(#38=[@#41(),@#41()]): METHOD_RETURN", 1.356 - "1: #41(): METHOD_FORMAL_PARAMETER, param_index=0", 1.357 - "2: #41(): METHOD_FORMAL_PARAMETER, param_index=1", 1.358 - "3: #42(): METHOD_FORMAL_PARAMETER, param_index=1", 1.359 - "4: #40(#38=[@#41(),@#41()]): CAST, offset=0", 1.360 - "5: #43(#38=[@#42(),@#42()]): CAST, offset=6", 1.361 - "6: #41(): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}"); 1.362 + verify( 1.363 + "RuntimeVisibleTypeAnnotations:", 1.364 + "0: #36(): CAST, offset=0, type_index=0", 1.365 + "1: #36(): CAST, offset=6, type_index=0", 1.366 + "2: #37(#38=[@#36(),@#36()]): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}", 1.367 + "RuntimeInvisibleTypeAnnotations:", 1.368 + "0: #40(#38=[@#41(),@#41()]): CAST, offset=0, type_index=0", 1.369 + "1: #42(#38=[@#43(),@#43()]): CAST, offset=6, type_index=0", 1.370 + "2: #41(): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}", 1.371 + "RuntimeVisibleTypeAnnotations:", 1.372 + "0: #36(): METHOD_RETURN", 1.373 + "1: #37(#38=[@#36(),@#36()]): METHOD_FORMAL_PARAMETER, param_index=0", 1.374 + "RuntimeInvisibleTypeAnnotations:", 1.375 + "0: #40(#38=[@#41(),@#41()]): METHOD_RETURN", 1.376 + "1: #41(): METHOD_FORMAL_PARAMETER, param_index=0", 1.377 + "2: #41(): METHOD_FORMAL_PARAMETER, param_index=1", 1.378 + "3: #43(): METHOD_FORMAL_PARAMETER, param_index=1" 1.379 + ); 1.380 } 1.381 } 1.382 1.383 @TestCase 1.384 public static class TC16 extends RepeatingTypeAnnotations { 1.385 public TC16() { 1.386 - setSrc(" public @A @B @C String foo(@A @B @C Object o, @A @C int i, long l) {", 1.387 + setSrc(" /* TC16 */ ", 1.388 + " public @A @B @C String foo(@A @B @C Object o, @A @C int i, long l) {", 1.389 " @A @B @C String ls = (@C @A @B String) o;", 1.390 " return (@B @A @C String) o;", 1.391 " }"); 1.392 - verify("RuntimeInvisibleTypeAnnotations", 1.393 - "RuntimeVisibleTypeAnnotations", 1.394 + verify( 1.395 + "RuntimeVisibleTypeAnnotations:", 1.396 + "0: #36(): CAST, offset=0, type_index=0", 1.397 + "1: #36(): CAST, offset=6, type_index=0", 1.398 + "2: #36(): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}", 1.399 + "RuntimeInvisibleTypeAnnotations:", 1.400 + "0: #38(): CAST, offset=0, type_index=0", 1.401 + "1: #39(): CAST, offset=0, type_index=0", 1.402 + "2: #39(): CAST, offset=6, type_index=0", 1.403 + "3: #38(): CAST, offset=6, type_index=0", 1.404 + "4: #38(): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}", 1.405 + "5: #39(): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}", 1.406 + "RuntimeVisibleTypeAnnotations:", 1.407 "0: #36(): METHOD_RETURN", 1.408 "1: #36(): METHOD_FORMAL_PARAMETER, param_index=0", 1.409 "2: #36(): METHOD_FORMAL_PARAMETER, param_index=1", 1.410 - "3: #36(): CAST, offset=0", 1.411 - "4: #36(): CAST, offset=6", 1.412 - "5: #36(): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}", 1.413 + "RuntimeInvisibleTypeAnnotations:", 1.414 "0: #38(): METHOD_RETURN", 1.415 "1: #39(): METHOD_RETURN", 1.416 "2: #38(): METHOD_FORMAL_PARAMETER, param_index=0", 1.417 "3: #39(): METHOD_FORMAL_PARAMETER, param_index=0", 1.418 - "4: #38(): METHOD_FORMAL_PARAMETER, param_index=1", 1.419 - "5: #38(): CAST, offset=0", 1.420 - "6: #39(): CAST, offset=0", 1.421 - "7: #39(): CAST, offset=6", 1.422 - "8: #38(): CAST, offset=6", 1.423 - "9: #38(): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}", 1.424 - "10: #39(): LOCAL_VARIABLE, {start_pc=6, length=5, index=5}"); 1.425 + "4: #38(): METHOD_FORMAL_PARAMETER, param_index=1" 1.426 + ); 1.427 } 1.428 } 1.429 }