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