test/tools/javap/output/RepeatingTypeAnnotations.java

changeset 1755
ddb4a2bfcd82
parent 1721
abd153854f16
child 2525
2eb010b6cb22
     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  }

mercurial