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