1 /* 2 * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /* 25 * This test contains a BootstrapMethods attribute with a fuzzied 26 * attribute_length field that is larger than it should be. This 27 * should cause a java.lang.ClassFormatError exception to be thrown. 28 */ 29 class LambdaMath { 30 0xCAFEBABE; 31 0; // minor version 32 52; // version 33 [162] { // Constant Pool 34 ; // first element is empty 35 Method #31 #69; // #1 at 0x0A 36 class #70; // #2 at 0x0F 37 Method #2 #71; // #3 at 0x12 38 Method #72 #73; // #4 at 0x17 39 Field #74 #75; // #5 at 0x1C 40 String #76; // #6 at 0x21 41 Method #77 #78; // #7 at 0x24 42 InvokeDynamic 0s #84; // #8 at 0x29 43 Method #30 #85; // #9 at 0x2E 44 String #86; // #10 at 0x33 45 InvokeDynamic 1s #84; // #11 at 0x36 46 String #88; // #12 at 0x3B 47 InvokeDynamic 2s #84; // #13 at 0x3E 48 String #90; // #14 at 0x43 49 InvokeDynamic 3s #84; // #15 at 0x46 50 String #92; // #16 at 0x4B 51 InvokeDynamic 4s #84; // #17 at 0x4E 52 InterfaceMethod #94 #95; // #18 at 0x53 53 InterfaceMethod #96 #97; // #19 at 0x58 54 InterfaceMethod #96 #98; // #20 at 0x5D 55 InterfaceMethod #99 #100; // #21 at 0x62 56 class #101; // #22 at 0x67 57 Method #22 #69; // #23 at 0x6A 58 Method #22 #102; // #24 at 0x6F 59 String #103; // #25 at 0x74 60 Method #22 #104; // #26 at 0x77 61 Method #22 #105; // #27 at 0x7C 62 class #106; // #28 at 0x81 63 Method #2 #107; // #29 at 0x84 64 class #108; // #30 at 0x89 65 class #109; // #31 at 0x8C 66 Utf8 "<init>"; // #32 at 0x8F 67 Utf8 "()V"; // #33 at 0x98 68 Utf8 "Code"; // #34 at 0x9E 69 Utf8 "LineNumberTable"; // #35 at 0xA5 70 Utf8 "LocalVariableTable"; // #36 at 0xB7 71 Utf8 "this"; // #37 at 0xCC 72 Utf8 "LLambdaMath;"; // #38 at 0xD3 73 Utf8 "main"; // #39 at 0xE2 74 Utf8 "([Ljava/lang/String;)V"; // #40 at 0xE9 75 Utf8 "a"; // #41 at 0x0102 76 Utf8 "[Ljava/lang/String;"; // #42 at 0x0106 77 Utf8 "list"; // #43 at 0x011C 78 Utf8 "Ljava/util/List;"; // #44 at 0x0123 79 Utf8 "LocalVariableTypeTable"; // #45 at 0x0136 80 Utf8 "Ljava/util/List<Ljava/lang/Integer;>;"; // #46 at 0x014F 81 Utf8 "evaluate"; // #47 at 0x0177 82 Utf8 "(Ljava/util/List;Ljava/util/function/Predicate;)V"; // #48 at 0x0182 83 Utf8 "n"; // #49 at 0x01B6 84 Utf8 "Ljava/lang/Integer;"; // #50 at 0x01BA 85 Utf8 "e"; // #51 at 0x01D0 86 Utf8 "Ljava/lang/Throwable;"; // #52 at 0x01D4 87 Utf8 "predicate"; // #53 at 0x01EC 88 Utf8 "Ljava/util/function/PrediCate;"; // #54 at 0x01F8 89 Utf8 "Ljava/util/function/Predicate<Ljava/lang/Integer;>;"; // #55 at 0x0219 90 Utf8 "StackMapTable"; // #56 at 0x024F 91 class #110; // #57 at 0x025F 92 class #106; // #58 at 0x0262 93 Utf8 "Signature"; // #59 at 0x0265 94 Utf8 "(Ljava/util/List<Ljava/lang/Integer;>;Ljava/util/function/Predicate<Ljava/lang/Integer;>;)V"; // #60 at 0x0271 95 Utf8 "lambda$main$4"; // #61 at 0x02CF 96 Utf8 "(Ljava/lang/Integer;)Z"; // #62 at 0x02DF 97 Utf8 "lambda$main$3"; // #63 at 0x02F8 98 Utf8 "lambda$main$2"; // #64 at 0x0308 99 Utf8 "lambda$main$1"; // #65 at 0x0318 100 Utf8 "lambda$main$0"; // #66 at 0x0328 101 Utf8 "SourceFile"; // #67 at 0x0338 102 Utf8 "LambdaMath.java"; // #68 at 0x0345 103 NameAndType #32 #33; // #69 at 0x0357 104 Utf8 "java/lang/Integer"; // #70 at 0x035C 105 NameAndType #111 #112; // #71 at 0x0370 106 class #113; // #72 at 0x0375 107 NameAndType #114 #115; // #73 at 0x0378 108 class #116; // #74 at 0x037D 109 NameAndType #117 #118; // #75 at 0x0380 110 Utf8 "Print all numbers:"; // #76 at 0x0385 111 class #119; // #77 at 0x039A 112 NameAndType #120 #121; // #78 at 0x039D 113 Utf8 "BootstrapMethods"; // #79 at 0x03A2 114 MethodHandle 6b #122; // #80 at 0x03B5 115 MethodType #123; // #81 at 0x03B9 116 MethodHandle 6b #124; // #82 at 0x03BC 117 MethodType #62; // #83 at 0x03C0 118 NameAndType #125 #126; // #84 at 0x03C3 119 NameAndType #47 #48; // #85 at 0x03C8 120 Utf8 "Print no numbers:"; // #86 at 0x03CD 121 MethodHandle 6b #127; // #87 at 0x03E1 122 Utf8 "Print even numbers:"; // #88 at 0x03E5 123 MethodHandle 6b #128; // #89 at 0x03FB 124 Utf8 "Print odd numbers:"; // #90 at 0x03FF 125 MethodHandle 6b #129; // #91 at 0x0414 126 Utf8 "Print numbers greater than 5:"; // #92 at 0x0418 127 MethodHandle 6b #130; // #93 at 0x0438 128 class #131; // #94 at 0x043C 129 NameAndType #132 #133; // #95 at 0x043F 130 class #110; // #96 at 0x0444 131 NameAndType #134 #135; // #97 at 0x0447 132 NameAndType #136 #137; // #98 at 0x044C 133 class #138; // #99 at 0x0451 134 NameAndType #125 #123; // #100 at 0x0454 135 Utf8 "java/lang/StringFuilder"; // #101 at 0x0459 136 NameAndType #139 #140; // #102 at 0x0473 137 Utf8 " "; // #103 at 0x0478 138 NameAndType #139 #141; // #104 at 0x047C 139 NameAndType #142 #143; // #105 at 0x0481 140 Utf8 "java/lang/Throwable"; // #106 at 0x0486 141 NameAndType #144 #145; // #107 at 0x049C 142 Utf8 "LambdaMath"; // #108 at 0x04A1 143 Utf8 "java/lang/Object"; // #109 at 0x04AE 144 Utf8 "java/util/Iterator"; // #110 at 0x04C1 145 Utf8 "valueOf"; // #111 at 0x04D6 146 Utf8 "(I)Ljava/lang/Integer;"; // #112 at 0x04E0 147 Utf8 "java/util/Arrays"; // #113 at 0x04F9 148 Utf8 "asList"; // #114 at 0x050C 149 Utf8 "([Ljava/lang/Object;)Ljava/util/List;"; // #115 at 0x0515 150 Utf8 "java/lang/System"; // #116 at 0x053D 151 Utf8 "out"; // #117 at 0x0550 152 Utf8 "Ljava/io/PrintStream;"; // #118 at 0x0556 153 Utf8 "java/io/PrintStream"; // #119 at 0x056E 154 Utf8 "println"; // #120 at 0x0584 155 Utf8 "(Ljava/lang/String;)V"; // #121 at 0x058E 156 Method #146 #147; // #122 at 0x05A6 157 Utf8 "(Ljava/lang/Object;)Z"; // #123 at 0x05AB 158 Method #30 #148; // #124 at 0x05C3 159 Utf8 "test"; // #125 at 0x05C8 160 Utf8 "()Ljava/util/function/Predicate;"; // #126 at 0x05CF 161 Method #30 #149; // #127 at 0x05F2 162 Method #30 #150; // #128 at 0x05F7 163 Method #30 #151; // #129 at 0x05FC 164 Method #30 #152; // #130 at 0x0601 165 Utf8 "java/util/List"; // #131 at 0x0606 166 Utf8 "iterator"; // #132 at 0x0617 167 Utf8 "()Ljava/util/Iterator;"; // #133 at 0x0622 168 Utf8 "hasNext"; // #134 at 0x063B 169 Utf8 "()Z"; // #135 at 0x0645 170 Utf8 "next"; // #136 at 0x064B 171 Utf8 "()Ljava/lang/Object;"; // #137 at 0x0652 172 Utf8 "java/util/function/Predicate"; // #138 at 0x0669 173 Utf8 "append"; // #139 at 0x0688 174 Utf8 "(Ljava/lang/Object;)Ljava/lang/StringBuilder;"; // #140 at 0x0691 175 Utf8 "(Ljava/lang/String;)Ljava/lang/StringBuilder;"; // #141 at 0x06C1 176 Utf8 "toString"; // #142 at 0x06F1 177 Utf8 "()Ljava/lang/String;"; // #143 at 0x06FC 178 Utf8 "intValue"; // #144 at 0x0713 179 Utf8 "()I"; // #145 at 0x071E 180 class #153; // #146 at 0x0724 181 NameAndType #154 #158; // #147 at 0x0727 182 NameAndType #66 #62; // #148 at 0x072C 183 NameAndType #65 #62; // #149 at 0x0731 184 NameAndType #64 #62; // #150 at 0x0736 185 NameAndType #63 #62; // #151 at 0x073B 186 NameAndType #61 #62; // #152 at 0x0740 187 Utf8 "java/lang/invoke/LambdaMetafactory"; // #153 at 0x0745 188 Utf8 "metafactory"; // #154 at 0x076A 189 class #160; // #155 at 0x0778 190 Utf8 "Lookup"; // #156 at 0x077B 191 Utf8 "InnerClasses"; // #157 at 0x0784 192 Utf8 "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;"; // #158 at 0x0793 193 class #161; // #159 at 0x0862 194 Utf8 "java/lang/invoke/MethodHandles$Lookup"; // #160 at 0x0865 195 Utf8 "java/lang/invoke/MethodHandles"; // #161 at 0x088D 196 } // Constant Pool 197 198 0x0021; // access 199 #30;// this_cpx 200 #31;// super_cpx 201 202 [0] { // Interfaces 203 } // Interfaces 204 205 [0] { // fields 206 } // fields 207 208 [8] { // methods 209 { // Member at 0x08BA 210 0x0001; // access 211 #32; // name_cpx 212 #33; // sig_cpx 213 [1] { // Attributes 214 Attr(#34, 47) { // Code at 0x08C2 215 1; // max_stack 216 1; // max_locals 217 Bytes[5]{ 218 0x2AB70001B1; 219 }; 220 [0] { // Traps 221 } // end Traps 222 [2] { // Attributes 223 Attr(#35, 6) { // LineNumberTable at 0x08D9 224 [1] { // LineNumberTable 225 0 5; // at 0x08E5 226 } 227 } // end LineNumberTable 228 ; 229 Attr(#36, 12) { // LocalVariableTable at 0x08E5 230 [1] { // LocalVariableTable 231 0 5 37 38 0; // at 0x08F7 232 } 233 } // end LocalVariableTable 234 } // Attributes 235 } // end Code 236 } // Attributes 237 } // Member 238 ; 239 { // Member at 0x08F7 240 0x0009; // access 241 #39; // name_cpx 242 #40; // sig_cpx 243 [1] { // Attributes 244 Attr(#34, 261) { // Code at 0x08FF 245 4; // max_stack 246 2; // max_locals 247 Bytes[147]{ 248 0x1007BD0002590304; 249 0xB8000353590405B8; 250 0x000353590506B800; 251 0x0353590607B80003; 252 0x53590708B8000353; 253 0x59081006B8000353; 254 0x5910061007B80003; 255 0x53B800044CB20005; 256 0x1206B600072BBA00; 257 0x080000B80009B200; 258 0x05120AB600072BBA; 259 0x000B0000B80009B2; 260 0x0005120CB600072B; 261 0xBA000D0000B80009; 262 0xB20005120EB60007; 263 0x2BBA000F0000B800; 264 0x09B200051210B600; 265 0x072BBA00110000B8; 266 0x0009B1; 267 }; 268 [0] { // Traps 269 } // end Traps 270 [3] { // Attributes 271 Attr(#35, 50) { // LineNumberTable at 0x09A4 272 [12] { // LineNumberTable 273 0 9; // at 0x09B0 274 61 11; // at 0x09B4 275 69 12; // at 0x09B8 276 78 14; // at 0x09BC 277 86 15; // at 0x09C0 278 95 17; // at 0x09C4 279 103 18; // at 0x09C8 280 112 20; // at 0x09CC 281 120 21; // at 0x09D0 282 129 23; // at 0x09D4 283 137 24; // at 0x09D8 284 146 26; // at 0x09DC 285 } 286 } // end LineNumberTable 287 ; 288 Attr(#36, 22) { // LocalVariableTable at 0x09DC 289 [2] { // LocalVariableTable 290 0 147 41 42 0; // at 0x09EE 291 61 86 43 44 1; // at 0x09F8 292 } 293 } // end LocalVariableTable 294 ; 295 Attr(#45, 12) { // LocalVariableTypeTable at 0x09F8 296 [1] { // LocalVariableTypeTable 297 61 86 43 46 1; // at 0x0A0A 298 } 299 } // end LocalVariableTypeTable 300 } // Attributes 301 } // end Code 302 } // Attributes 303 } // Member 304 ; 305 { // Member at 0x0A0A 306 0x0009; // access 307 #47; // name_cpx 308 #48; // sig_cpx 309 [2] { // Attributes 310 Attr(#34, 224) { // Code at 0x0A12 311 3; // max_stack 312 4; // max_locals 313 Bytes[69]{ 314 0x2AB9001201004D2C; 315 0xB900130100990033; 316 0x2CB900140100C200; 317 0x024E2B2DB9001502; 318 0x0099001CB20005BB; 319 0x001659B700172DB6; 320 0x00181219B6001AB6; 321 0x001BB60007A7FFCA; 322 0xA700044DB1; 323 }; 324 [1] { // Traps 325 0 64 67 28; // at 0x0A6F 326 } // end Traps 327 [4] { // Attributes 328 Attr(#35, 30) { // LineNumberTable at 0x0A71 329 [7] { // LineNumberTable 330 0 30; // at 0x0A7D 331 26 31; // at 0x0A81 332 36 32; // at 0x0A85 333 61 34; // at 0x0A89 334 64 38; // at 0x0A8D 335 67 37; // at 0x0A91 336 68 39; // at 0x0A95 337 } 338 } // end LineNumberTable 339 ; 340 Attr(#36, 42) { // LocalVariableTable at 0x0A95 341 [4] { // LocalVariableTable 342 26 35 49 50 3; // at 0x0AA7 343 68 0 51 52 2; // at 0x0AB1 344 0 69 43 44 0; // at 0x0ABB 345 0 69 53 54 1; // at 0x0AC5 346 } 347 } // end LocalVariableTable 348 ; 349 Attr(#45, 22) { // LocalVariableTypeTable at 0x0AC5 350 [2] { // LocalVariableTypeTable 351 0 69 43 46 0; // at 0x0AD7 352 0 69 53 55 1; // at 0x0AE1 353 } 354 } // end LocalVariableTypeTable 355 ; 356 Attr(#56, 17) { // StackMapTable at 0x0AE1 357 [5] { // 358 252b, 7, [1]z{7b,57}; // append_frame 1 359 53b; // same_frame 360 250b, 2; // chop_frame 1 361 66b, [1]z{7b,58}; // same_locals_1_stack_item_frame 362 0b; // same_frame 363 } 364 } // end StackMapTable 365 } // Attributes 366 } // end Code 367 ; 368 Attr(#59, 2) { // Signature at 0x0AF8 369 #60; 370 } // end Signature 371 } // Attributes 372 } // Member 373 ; 374 { // Member at 0x0B00 375 0x100A; // access 376 #61; // name_cpx 377 #62; // sig_cpx 378 [1] { // Attributes 379 Attr(#34, 67) { // Code at 0x0B08 380 2; // max_stack 381 1; // max_locals 382 Bytes[14]{ 383 0x2AB6001D08A40007; 384 0x04A7000403AC; 385 }; 386 [0] { // Traps 387 } // end Traps 388 [3] { // Attributes 389 Attr(#35, 6) { // LineNumberTable at 0x0B28 390 [1] { // LineNumberTable 391 0 24; // at 0x0B34 392 } 393 } // end LineNumberTable 394 ; 395 Attr(#36, 12) { // LocalVariableTable at 0x0B34 396 [1] { // LocalVariableTable 397 0 14 49 50 0; // at 0x0B46 398 } 399 } // end LocalVariableTable 400 ; 401 Attr(#56, 5) { // StackMapTable at 0x0B46 402 [2] { // 403 12b; // same_frame 404 64b, [1]z{1b}; // same_locals_1_stack_item_frame 405 } 406 } // end StackMapTable 407 } // Attributes 408 } // end Code 409 } // Attributes 410 } // Member 411 ; 412 { // Member at 0x0B51 413 0x100A; // access 414 #63; // name_cpx 415 #62; // sig_cpx 416 [1] { // Attributes 417 Attr(#34, 69) { // Code at 0x0B59 418 2; // max_stack 419 1; // max_locals 420 Bytes[16]{ 421 0x2AB6001D057004A0; 422 0x000704A7000403AC; 423 }; 424 [0] { // Traps 425 } // end Traps 426 [3] { // Attributes 427 Attr(#35, 6) { // LineNumberTable at 0x0B7B 428 [1] { // LineNumberTable 429 0 21; // at 0x0B87 430 } 431 } // end LineNumberTable 432 ; 433 Attr(#36, 12) { // LocalVariableTable at 0x0B87 434 [1] { // LocalVariableTable 435 0 16 49 50 0; // at 0x0B99 436 } 437 } // end LocalVariableTable 438 ; 439 Attr(#56, 5) { // StackMapTable at 0x0B99 440 [2] { // 441 14b; // same_frame 442 64b, [1]z{1b}; // same_locals_1_stack_item_frame 443 } 444 } // end StackMapTable 445 } // Attributes 446 } // end Code 447 } // Attributes 448 } // Member 449 ; 450 { // Member at 0x0BA4 451 0x100A; // access 452 #64; // name_cpx 453 #62; // sig_cpx 454 [1] { // Attributes 455 Attr(#34, 68) { // Code at 0x0BAC 456 2; // max_stack 457 1; // max_locals 458 Bytes[15]{ 459 0x2AB6001D05709A00; 460 0x0704A7000403AC; 461 }; 462 [0] { // Traps 463 } // end Traps 464 [3] { // Attributes 465 Attr(#35, 6) { // LineNumberTable at 0x0BCD 466 [1] { // LineNumberTable 467 0 18; // at 0x0BD9 468 } 469 } // end LineNumberTable 470 ; 471 Attr(#36, 12) { // LocalVariableTable at 0x0BD9 472 [1] { // LocalVariableTable 473 0 15 49 50 0; // at 0x0BEB 474 } 475 } // end LocalVariableTable 476 ; 477 Attr(#56, 5) { // StackMapTable at 0x0BEB 478 [2] { // 479 13b; // same_frame 480 64b, [1]z{1b}; // same_locals_1_stack_item_frame 481 } 482 } // end StackMapTable 483 } // Attributes 484 } // end Code 485 } // Attributes 486 } // Member 487 ; 488 { // Member at 0x0BF6 489 0x100A; // access 490 #65; // name_cpx 491 #62; // sig_cpx 492 [1] { // Attributes 493 Attr(#34, 44) { // Code at 0x0BFE 494 1; // max_stack 495 1; // max_locals 496 Bytes[2]{ 497 0x03AC; 498 }; 499 [0] { // Traps 500 } // end Traps 501 [2] { // Attributes 502 Attr(#35, 6) { // LineNumberTable at 0x0C12 503 [1] { // LineNumberTable 504 0 15; // at 0x0C1E 505 } 506 } // end LineNumberTable 507 ; 508 Attr(#36, 12) { // LocalVariableTable at 0x0C1E 509 [1] { // LocalVariableTable 510 0 2 49 50 0; // at 0x0C30 511 } 512 } // end LocalVariableTable 513 } // Attributes 514 } // end Code 515 } // Attributes 516 } // Member 517 ; 518 { // Member at 0x0C30 519 0x100A; // access 520 #66; // name_cpx 521 #62; // sig_cpx 522 [1] { // Attributes 523 Attr(#34, 44) { // Code at 0x0C38 524 1; // max_stack 525 1; // max_locals 526 Bytes[2]{ 527 0x04AC; 528 }; 529 [0] { // Traps 530 } // end Traps 531 [2] { // Attributes 532 Attr(#35, 6) { // LineNumberTable at 0x0C4C 533 [1] { // LineNumberTable 534 0 12; // at 0x0C58 535 } 536 } // end LineNumberTable 537 ; 538 Attr(#36, 12) { // LocalVariableTable at 0x0C58 539 [1] { // LocalVariableTable 540 0 2 49 50 0; // at 0x0C6A 541 } 542 } // end LocalVariableTable 543 } // Attributes 544 } // end Code 545 } // Attributes 546 } // Member 547 } // methods 548 549 [3] { // Attributes 550 Attr(#67, 2) { // SourceFile at 0x0C6C 551 #68; 552 } // end SourceFile 553 ; 554 Attr(#157, 10) { // InnerClasses at 0x0C74 555 [1] { // InnerClasses 556 #155 #159 #156 25; // at 0x0C84 557 } 558 } // end InnerClasses 559 ; 560 Attr(#79, 52) { // BootstrapMethods at 0x0C84 561 [5] { // bootstrap_methods 562 { // bootstrap_method 563 #80; // bootstrap_method_ref 564 [3] { // bootstrap_arguments 565 #81; // at 0x0C92 566 #82; // at 0x0C94 567 #83; // at 0x0C96 568 } // bootstrap_arguments 569 } // bootstrap_method 570 ; 571 { // bootstrap_method 572 #80; // bootstrap_method_ref 573 [3] { // bootstrap_arguments 574 #81; // at 0x0C9C 575 #87; // at 0x0C9E 576 #83; // at 0x0CA0 577 } // bootstrap_arguments 578 } // bootstrap_method 579 ; 580 { // bootstrap_method 581 #80; // bootstrap_method_ref 582 [3] { // bootstrap_arguments 583 #81; // at 0x0CA6 584 #89; // at 0x0CA8 585 #83; // at 0x0CAA 586 } // bootstrap_arguments 587 } // bootstrap_method 588 ; 589 { // bootstrap_method 590 #80; // bootstrap_method_ref 591 [3] { // bootstrap_arguments 592 #81; // at 0x0CB0 593 #91; // at 0x0CB2 594 #83; // at 0x0CB4 595 } // bootstrap_arguments 596 } // bootstrap_method 597 ; 598 { // bootstrap_method 599 #80; // bootstrap_method_ref 600 [1] { // bootstrap_arguments 601 #81; // at 0x0CBA 602 } // bootstrap_arguments 603 } // bootstrap_method 604 } 605 // ======== attribute array started at 0x0C84 has 4 bytes more: 606 0x005D0053; 607 } // end BootstrapMethods 608 } // Attributes 609 } // end class LambdaMath