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