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