1 /*
   2  * Copyright (c) 2017, 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 // NestHost attribute refers to current class
  25 
  26 class TestNestmateMembership$CallerSelfHost {
  27   0xCAFEBABE;
  28   0; // minor version
  29   53; // version
  30   [] { // Constant Pool
  31     ; // first element is empty
  32     Field #34 #35; // #1
  33     String #36; // #2
  34     Method #37 #38; // #3
  35     Method #7 #39; // #4
  36     Method #9 #39; // #5
  37     Method #14 #40; // #6
  38     class #41; // #7
  39     Method #7 #40; // #8
  40     class #44; // #9
  41     Method #9 #40; // #10
  42     Field #7 #46; // #11
  43     Field #9 #46; // #12
  44     class #47; // #13
  45     class #49; // #14
  46     Utf8 "f"; // #15
  47     Utf8 "I"; // #16
  48     Utf8 "m"; // #17
  49     Utf8 "()V"; // #18
  50     Utf8 "Code"; // #19
  51     Utf8 "LineNumberTable"; // #20
  52     Utf8 "invokeTarget"; // #21
  53     Utf8 "invokeTargetSelfHost"; // #22
  54     Utf8 "<init>"; // #23
  55     Utf8 "newTarget"; // #24
  56     Utf8 "newTargetSelfHost"; // #25
  57     Utf8 "getFieldTarget"; // #26
  58     Utf8 "getFieldTargetSelfHost"; // #27
  59     Utf8 "putFieldTarget"; // #28
  60     Utf8 "putFieldTargetSelfHost"; // #29
  61     Utf8 "SourceFile"; // #30
  62     Utf8 "TestNestmateMembership.java"; // #31
  63     Utf8 "NestHost"; // #32
  64     class #50; // #33
  65     class #51; // #34
  66     NameAndType #52 #53; // #35
  67     Utf8 "CallerSelfHost.m() - java version"; // #36
  68     class #54; // #37
  69     NameAndType #55 #56; // #38
  70     NameAndType #17 #18; // #39
  71     NameAndType #23 #18; // #40
  72     Utf8 "TestNestmateMembership$Target"; // #41
  73     Utf8 "Target"; // #42
  74     Utf8 "InnerClasses"; // #43
  75     Utf8 "TestNestmateMembership$TargetSelfHost"; // #44
  76     Utf8 "TargetSelfHost"; // #45
  77     NameAndType #15 #16; // #46
  78     Utf8 "TestNestmateMembership$CallerSelfHost"; // #47
  79     Utf8 "CallerSelfHost"; // #48
  80     Utf8 "java/lang/Object"; // #49
  81     Utf8 "TestNestmateMembership"; // #50
  82     Utf8 "java/lang/System"; // #51
  83     Utf8 "out"; // #52
  84     Utf8 "Ljava/io/PrintStream;"; // #53
  85     Utf8 "java/io/PrintStream"; // #54
  86     Utf8 "println"; // #55
  87     Utf8 "(Ljava/lang/String;)V"; // #56
  88   } // Constant Pool
  89 
  90   0x0020; // access
  91   #13;// this_cpx
  92   #14;// super_cpx
  93 
  94   [] { // Interfaces
  95   } // Interfaces
  96 
  97   [] { // fields
  98     { // Member
  99       0x000A; // access
 100       #15; // name_cpx
 101       #16; // sig_cpx
 102       [] { // Attributes
 103       } // Attributes
 104     } // Member
 105   } // fields
 106 
 107   [] { // methods
 108     { // Member
 109       0x000A; // access
 110       #17; // name_cpx
 111       #18; // sig_cpx
 112       [] { // Attributes
 113         Attr(#19) { // Code
 114           2; // max_stack
 115           0; // max_locals
 116           Bytes[]{
 117             0xB200011202B60003;
 118             0xB1;
 119           };
 120           [] { // Traps
 121           } // end Traps
 122           [] { // Attributes
 123             Attr(#20) { // LineNumberTable
 124               [] { // LineNumberTable
 125                 0  297;
 126                 8  298;
 127               }
 128             } // end LineNumberTable
 129           } // Attributes
 130         } // end Code
 131       } // Attributes
 132     } // Member
 133     ;
 134     { // Member
 135       0x0009; // access
 136       #21; // name_cpx
 137       #18; // sig_cpx
 138       [] { // Attributes
 139         Attr(#19) { // Code
 140           0; // max_stack
 141           0; // max_locals
 142           Bytes[]{
 143             0xB80004B1;
 144           };
 145           [] { // Traps
 146           } // end Traps
 147           [] { // Attributes
 148             Attr(#20) { // LineNumberTable
 149               [] { // LineNumberTable
 150                 0  300;
 151                 3  301;
 152               }
 153             } // end LineNumberTable
 154           } // Attributes
 155         } // end Code
 156       } // Attributes
 157     } // Member
 158     ;
 159     { // Member
 160       0x0009; // access
 161       #22; // name_cpx
 162       #18; // sig_cpx
 163       [] { // Attributes
 164         Attr(#19) { // Code
 165           0; // max_stack
 166           0; // max_locals
 167           Bytes[]{
 168             0xB80005B1;
 169           };
 170           [] { // Traps
 171           } // end Traps
 172           [] { // Attributes
 173             Attr(#20) { // LineNumberTable
 174               [] { // LineNumberTable
 175                 0  303;
 176                 3  304;
 177               }
 178             } // end LineNumberTable
 179           } // Attributes
 180         } // end Code
 181       } // Attributes
 182     } // Member
 183     ;
 184     { // Member
 185       0x0002; // access
 186       #23; // name_cpx
 187       #18; // sig_cpx
 188       [] { // Attributes
 189         Attr(#19) { // Code
 190           1; // max_stack
 191           1; // max_locals
 192           Bytes[]{
 193             0x2AB70006B1;
 194           };
 195           [] { // Traps
 196           } // end Traps
 197           [] { // Attributes
 198             Attr(#20) { // LineNumberTable
 199               [] { // LineNumberTable
 200                 0  308;
 201               }
 202             } // end LineNumberTable
 203           } // Attributes
 204         } // end Code
 205       } // Attributes
 206     } // Member
 207     ;
 208     { // Member
 209       0x0009; // access
 210       #24; // name_cpx
 211       #18; // sig_cpx
 212       [] { // Attributes
 213         Attr(#19) { // Code
 214           2; // max_stack
 215           1; // max_locals
 216           Bytes[]{
 217             0xBB000759B700084B;
 218             0xB1;
 219           };
 220           [] { // Traps
 221           } // end Traps
 222           [] { // Attributes
 223             Attr(#20) { // LineNumberTable
 224               [] { // LineNumberTable
 225                 0  311;
 226                 8  312;
 227               }
 228             } // end LineNumberTable
 229           } // Attributes
 230         } // end Code
 231       } // Attributes
 232     } // Member
 233     ;
 234     { // Member
 235       0x0009; // access
 236       #25; // name_cpx
 237       #18; // sig_cpx
 238       [] { // Attributes
 239         Attr(#19) { // Code
 240           2; // max_stack
 241           1; // max_locals
 242           Bytes[]{
 243             0xBB000959B7000A4B;
 244             0xB1;
 245           };
 246           [] { // Traps
 247           } // end Traps
 248           [] { // Attributes
 249             Attr(#20) { // LineNumberTable
 250               [] { // LineNumberTable
 251                 0  314;
 252                 8  315;
 253               }
 254             } // end LineNumberTable
 255           } // Attributes
 256         } // end Code
 257       } // Attributes
 258     } // Member
 259     ;
 260     { // Member
 261       0x0009; // access
 262       #26; // name_cpx
 263       #18; // sig_cpx
 264       [] { // Attributes
 265         Attr(#19) { // Code
 266           1; // max_stack
 267           1; // max_locals
 268           Bytes[]{
 269             0xB2000B3BB1;
 270           };
 271           [] { // Traps
 272           } // end Traps
 273           [] { // Attributes
 274             Attr(#20) { // LineNumberTable
 275               [] { // LineNumberTable
 276                 0  322;
 277                 4  323;
 278               }
 279             } // end LineNumberTable
 280           } // Attributes
 281         } // end Code
 282       } // Attributes
 283     } // Member
 284     ;
 285     { // Member
 286       0x0009; // access
 287       #27; // name_cpx
 288       #18; // sig_cpx
 289       [] { // Attributes
 290         Attr(#19) { // Code
 291           1; // max_stack
 292           1; // max_locals
 293           Bytes[]{
 294             0xB2000C3BB1;
 295           };
 296           [] { // Traps
 297           } // end Traps
 298           [] { // Attributes
 299             Attr(#20) { // LineNumberTable
 300               [] { // LineNumberTable
 301                 0  325;
 302                 4  326;
 303               }
 304             } // end LineNumberTable
 305           } // Attributes
 306         } // end Code
 307       } // Attributes
 308     } // Member
 309     ;
 310     { // Member
 311       0x0009; // access
 312       #28; // name_cpx
 313       #18; // sig_cpx
 314       [] { // Attributes
 315         Attr(#19) { // Code
 316           1; // max_stack
 317           0; // max_locals
 318           Bytes[]{
 319             0x102AB3000BB1;
 320           };
 321           [] { // Traps
 322           } // end Traps
 323           [] { // Attributes
 324             Attr(#20) { // LineNumberTable
 325               [] { // LineNumberTable
 326                 0  328;
 327                 5  329;
 328               }
 329             } // end LineNumberTable
 330           } // Attributes
 331         } // end Code
 332       } // Attributes
 333     } // Member
 334     ;
 335     { // Member
 336       0x0009; // access
 337       #29; // name_cpx
 338       #18; // sig_cpx
 339       [] { // Attributes
 340         Attr(#19) { // Code
 341           1; // max_stack
 342           0; // max_locals
 343           Bytes[]{
 344             0x102AB3000CB1;
 345           };
 346           [] { // Traps
 347           } // end Traps
 348           [] { // Attributes
 349             Attr(#20) { // LineNumberTable
 350               [] { // LineNumberTable
 351                 0  331;
 352                 5  332;
 353               }
 354             } // end LineNumberTable
 355           } // Attributes
 356         } // end Code
 357       } // Attributes
 358     } // Member
 359   } // methods
 360 
 361   [] { // Attributes
 362     Attr(#30) { // SourceFile
 363       #31;
 364     } // end SourceFile
 365     ;
 366     Attr(#32) { // NestHost
 367       0x000D; // modified - #13
 368     } // end NestHost
 369     ;
 370     Attr(#43) { // InnerClasses
 371       [] { // InnerClasses
 372         #7 #33 #42 8;
 373         #9 #33 #45 8;
 374         #13 #33 #48 8;
 375       }
 376     } // end InnerClasses
 377   } // Attributes
 378 } // end class TestNestmateMembership$CallerSelfHost