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     Method #10 #24; // #1
  33     String #25; // #2
  34     Field #9 #26; // #3
  35     Field #27 #28; // #4
  36     String #29; // #5
  37     Method #30 #31; // #6
  38     Method #32 #33; // #7
  39     Method #34 #33; // #8
  40     class #35; // #9
  41     class #38; // #10
  42     Utf8 "msg"; // #11
  43     Utf8 "Ljava/lang/String;"; // #12
  44     Utf8 "<init>"; // #13
  45     Utf8 "()V"; // #14
  46     Utf8 "Code"; // #15
  47     Utf8 "LineNumberTable"; // #16
  48     Utf8 "m"; // #17
  49     Utf8 "invokeTarget"; // #18
  50     Utf8 "invokeTargetMissingHost"; // #19
  51     Utf8 "SourceFile"; // #20
  52     Utf8 "TestNestmateMembership.java"; // #21
  53     Utf8 "NestHost"; // #22
  54     class #39; // #23
  55     NameAndType #13 #14; // #24
  56     Utf8 "NoCallerMissingHost"; // #25
  57     NameAndType #11 #12; // #26
  58     class #40; // #27
  59     NameAndType #41 #42; // #28
  60     Utf8 "CallerMissingHost.m() - java version"; // #29
  61     class #43; // #30
  62     NameAndType #44 #45; // #31
  63     class #46; // #32
  64     NameAndType #17 #14; // #33
  65     class #48; // #34
  66     Utf8 "TestNestmateMembership$CallerMissingHost"; // #35
  67     Utf8 "CallerMissingHost"; // #36
  68     Utf8 "InnerClasses"; // #37
  69     Utf8 "java/lang/Object"; // #38
  70     Utf8 "TestNestmateMembership"; // #39
  71     Utf8 "java/lang/System"; // #40
  72     Utf8 "out"; // #41
  73     Utf8 "Ljava/io/PrintStream;"; // #42
  74     Utf8 "java/io/PrintStream"; // #43
  75     Utf8 "println"; // #44
  76     Utf8 "(Ljava/lang/String;)V"; // #45
  77     Utf8 "TestNestmateMembership$Target"; // #46
  78     Utf8 "Target"; // #47
  79     Utf8 "TestNestmateMembership$TargetMissingHost"; // #48
  80     Utf8 "TargetMissingHost"; // #49
  81     class #25; // #50 - added
  82   } // Constant Pool
  83 
  84   0x0020; // access
  85   #9;// this_cpx
  86   #10;// super_cpx
  87 
  88   [] { // Interfaces
  89   } // Interfaces
  90 
  91   [] { // fields
  92     { // Member
  93       0x0000; // access
  94       #11; // name_cpx
  95       #12; // sig_cpx
  96       [] { // Attributes
  97       } // Attributes
  98     } // Member
  99   } // fields
 100 
 101   [] { // methods
 102     { // Member
 103       0x0000; // access
 104       #13; // name_cpx
 105       #14; // sig_cpx
 106       [] { // Attributes
 107         Attr(#15) { // Code
 108           2; // max_stack
 109           1; // max_locals
 110           Bytes[]{
 111             0x2AB700012A1202B5;
 112             0x0003B1;
 113           };
 114           [] { // Traps
 115           } // end Traps
 116           [] { // Attributes
 117             Attr(#16) { // LineNumberTable
 118               [] { // LineNumberTable
 119                 0  91;
 120                 4  92;
 121               }
 122             } // end LineNumberTable
 123           } // Attributes
 124         } // end Code
 125       } // Attributes
 126     } // Member
 127     ;
 128     { // Member
 129       0x000A; // access
 130       #17; // name_cpx
 131       #14; // sig_cpx
 132       [] { // Attributes
 133         Attr(#15) { // Code
 134           2; // max_stack
 135           0; // max_locals
 136           Bytes[]{
 137             0xB200041205B60006;
 138             0xB1;
 139           };
 140           [] { // Traps
 141           } // end Traps
 142           [] { // Attributes
 143             Attr(#16) { // LineNumberTable
 144               [] { // LineNumberTable
 145                 0  94;
 146                 8  95;
 147               }
 148             } // end LineNumberTable
 149           } // Attributes
 150         } // end Code
 151       } // Attributes
 152     } // Member
 153     ;
 154     { // Member
 155       0x0009; // access
 156       #18; // name_cpx
 157       #14; // sig_cpx
 158       [] { // Attributes
 159         Attr(#15) { // Code
 160           0; // max_stack
 161           0; // max_locals
 162           Bytes[]{
 163             0xB80007B1;
 164           };
 165           [] { // Traps
 166           } // end Traps
 167           [] { // Attributes
 168             Attr(#16) { // LineNumberTable
 169               [] { // LineNumberTable
 170                 0  97;
 171                 3  98;
 172               }
 173             } // end LineNumberTable
 174           } // Attributes
 175         } // end Code
 176       } // Attributes
 177     } // Member
 178     ;
 179     { // Member
 180       0x0009; // access
 181       #19; // name_cpx
 182       #14; // sig_cpx
 183       [] { // Attributes
 184         Attr(#15) { // Code
 185           0; // max_stack
 186           0; // max_locals
 187           Bytes[]{
 188             0xB80008B1;
 189           };
 190           [] { // Traps
 191           } // end Traps
 192           [] { // Attributes
 193             Attr(#16) { // LineNumberTable
 194               [] { // LineNumberTable
 195                 0  100;
 196                 3  101;
 197               }
 198             } // end LineNumberTable
 199           } // Attributes
 200         } // end Code
 201       } // Attributes
 202     } // Member
 203   } // methods
 204 
 205   [] { // Attributes
 206     Attr(#20) { // SourceFile
 207       #21;
 208     } // end SourceFile
 209     ;
 210     Attr(#22) { // NestHost
 211       0x0032; // modified - #50
 212     } // end NestHost
 213     ;
 214     Attr(#37) { // InnerClasses
 215       [] { // InnerClasses
 216         #9 #23 #36 8;
 217         #32 #23 #47 8;
 218         #34 #23 #49 8;
 219       }
 220     } // end InnerClasses
 221   } // Attributes
 222 } // end class TestNestmateMembership$CallerMissingHost