1 /*
2 * Copyright (c) 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 class CondyNestedTest_Code {
25 0xCAFEBABE;
26 0; // minor version
27 55; // version
28 [] { // Constant Pool
29 ; // first element is empty
30 Utf8 "java/lang/Object"; // #1
31 class #1; // #2
32 Utf8 "<init>"; // #3
33 Utf8 "()V"; // #4
34 NameAndType #3 #4; // #5
35 Method #2 #5; // #6
36 Utf8 "Code"; // #7
37 Utf8 "java/lang/String"; // #8
38 class #8; // #9
39 Utf8 "intern"; // #10
40 Utf8 "()Ljava/lang/String;"; // #11
41 NameAndType #10 #11; // #12
42 Method #9 #12; // #13
43 Utf8 "condy_bsm_condy_bsm"; // #14
44 String #14; // #15
45 Utf8 "CondyNestedTest_Code"; // #16
46 class #16; // #17
47 Utf8 "()Ljava/lang/Object;"; // #18
48 NameAndType #14 #18; // #19
49 Method #17 #19; // #20
50 Utf8 "indy_bsmIndy_condy_bsm"; // #21
51 String #21; // #22
52 NameAndType #21 #18; // #23
53 Method #17 #23; // #24
54 Utf8 "indy_bsm_condy_bsm"; // #25
55 String #25; // #26
56 NameAndType #25 #18; // #27
57 Method #17 #27; // #28
58 Utf8 "StackMapTable"; // #29
59 Utf8 "main"; // #30
60 Utf8 "([Ljava/lang/String;)V"; // #31
61 Utf8 "java/lang/invoke/MethodType"; // #32
62 class #32; // #33
63 Utf8 "java/lang/invoke/ConstantCallSite"; // #34
64 class #34; // #35
65 Utf8 "java/lang/invoke/MethodHandles"; // #36
66 class #36; // #37
67 Utf8 "constant"; // #38
68 Utf8 "(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;"; // #39
69 NameAndType #38 #39; // #40
70 Method #37 #40; // #41
71 Utf8 "(Ljava/lang/invoke/MethodHandle;)V"; // #42
72 NameAndType #3 #42; // #43
73 Method #35 #43; // #44
74 Utf8 "bsm"; // #45
75 Utf8 "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"; // #46
76 Utf8 "bsmIndy"; // #47
77 Utf8 "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/invoke/CallSite;"; // #48
78 Utf8 "DUMMY_ARG"; // #49
79 String #49; // #50
80 NameAndType #45 #46; // #51
81 Method #17 #51; // #52
82 MethodHandle 6b #52; // #53
83 Utf8 "name"; // #54
84 Utf8 "Ljava/lang/String;"; // #55
85 NameAndType #54 #55; // #56
86 Dynamic 0s #56; // #57
87 Dynamic 1s #56; // #58
88 NameAndType #47 #48; // #59
89 Method #17 #59; // #60
90 MethodHandle 6b #60; // #61
91 NameAndType #54 #11; // #62
92 InvokeDynamic 2s #62; // #63
93 InvokeDynamic 1s #62; // #64
94 Utf8 "BootstrapMethods"; // #65
95 } // Constant Pool
96
97 0x0000; // access
98 #17;// this_cpx
99 #2;// super_cpx
100
101 [] { // Interfaces
102 } // Interfaces
103
104 [] { // fields
105 } // fields
106
107 [] { // methods
108 { // Member
109 0x0001; // access
110 #3; // name_cpx
111 #4; // sig_cpx
112 [] { // Attributes
113 Attr(#7) { // Code
114 1; // max_stack
115 1; // max_locals
116 Bytes[]{
117 0x2AB70006B1;
118 };
119 [] { // Traps
120 } // end Traps
121 [] { // Attributes
122 } // Attributes
123 } // end Code
124 } // Attributes
125 } // Member
126 ;
127 { // Member
128 0x0009; // access
129 #30; // name_cpx
130 #31; // sig_cpx
131 [] { // Attributes
132 Attr(#7) { // Code
133 2; // max_stack
134 2; // max_locals
135 Bytes[]{
136 0x2A0332B6000D4C2B;
137 0x120FA60007B80014;
138 0xB12B1216A60007B8;
139 0x0018B12B121AA600;
140 0x07B8001CB1B1;
141 };
142 [] { // Traps
143 } // end Traps
144 [] { // Attributes
145 Attr(#29) { // StackMapTable
146 [] { //
147 252b, 17, []z{O,9}; // append_frame 1
148 9b; // same_frame
149 9b; // same_frame
150 }
151 } // end StackMapTable
152 } // Attributes
153 } // end Code
154 } // Attributes
155 } // Member
156 ;
157 { // Member
158 0x0009; // access
159 #45; // name_cpx
160 #46; // sig_cpx
161 [] { // Attributes
162 Attr(#7) { // Code
163 4; // max_stack
164 4; // max_locals
165 Bytes[]{
166 0x2CC10021039F0011;
167 0xBB00235912092BB8;
168 0x0029B7002CB02BB0;
169 };
170 [] { // Traps
171 } // end Traps
172 [] { // Attributes
173 Attr(#29) { // StackMapTable
174 [] { //
175 22b; // same_frame
176 }
177 } // end StackMapTable
178 } // Attributes
179 } // end Code
180 } // Attributes
181 } // Member
182 ;
183 { // Member
184 0x0009; // access
185 #47; // name_cpx
186 #48; // sig_cpx
187 [] { // Attributes
188 Attr(#7) { // Code
189 4; // max_stack
190 4; // max_locals
191 Bytes[]{
192 0xBB00235912092BB8;
193 0x0029B7002CB0;
194 };
195 [] { // Traps
196 } // end Traps
197 [] { // Attributes
198 } // Attributes
199 } // end Code
200 } // Attributes
201 } // Member
202 ;
203 { // Member
204 0x0009; // access
205 #14; // name_cpx
206 #18; // sig_cpx
207 [] { // Attributes
208 Attr(#7) { // Code
209 1; // max_stack
210 0; // max_locals
211 Bytes[]{
212 0x123AB0;
213 };
214 [] { // Traps
215 } // end Traps
216 [] { // Attributes
217 } // Attributes
218 } // end Code
219 } // Attributes
220 } // Member
221 ;
222 { // Member
223 0x0009; // access
224 #21; // name_cpx
225 #18; // sig_cpx
226 [] { // Attributes
227 Attr(#7) { // Code
228 1; // max_stack
229 0; // max_locals
230 Bytes[]{
231 0xBA003F0000B0;
232 };
233 [] { // Traps
234 } // end Traps
235 [] { // Attributes
236 } // Attributes
237 } // end Code
238 } // Attributes
239 } // Member
240 ;
241 { // Member
242 0x0009; // access
243 #25; // name_cpx
244 #18; // sig_cpx
245 [] { // Attributes
246 Attr(#7) { // Code
247 1; // max_stack
248 0; // max_locals
249 Bytes[]{
250 0xBA00400000B0;
251 };
252 [] { // Traps
253 } // end Traps
254 [] { // Attributes
255 } // Attributes
256 } // end Code
257 } // Attributes
258 } // Member
259 } // methods
260
261 [] { // Attributes
262 Attr(#65) { // BootstrapMethods
263 [] { // bootstrap_methods
264 { // bootstrap_method
265 #53; // bootstrap_method_ref
266 [] { // bootstrap_arguments
267 #50;
268 } // bootstrap_arguments
269 } // bootstrap_method
270 ;
271 { // bootstrap_method
272 #53; // bootstrap_method_ref
273 [] { // bootstrap_arguments
274 #58;
275 } // bootstrap_arguments
276 } // bootstrap_method
277 ;
278 { // bootstrap_method
279 #61; // bootstrap_method_ref
280 [] { // bootstrap_arguments
281 #58;
282 } // bootstrap_arguments
283 } // bootstrap_method
284 }
285 } // end BootstrapMethods
286 } // Attributes
287 } // end class CondyNestedTest_Code