|
1 /* |
|
2 * Copyright 2002-2005 Sun Microsystems, Inc. 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. Sun designates this |
|
8 * particular file as subject to the "Classpath" exception as provided |
|
9 * by Sun in the LICENSE file that accompanied this code. |
|
10 * |
|
11 * This code is distributed in the hope that it will be useful, but WITHOUT |
|
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
14 * version 2 for more details (a copy is included in the LICENSE file that |
|
15 * accompanied this code). |
|
16 * |
|
17 * You should have received a copy of the GNU General Public License version |
|
18 * 2 along with this work; if not, write to the Free Software Foundation, |
|
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
|
20 * |
|
21 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
|
22 * CA 95054 USA or visit www.sun.com if you need additional information or |
|
23 * have any questions. |
|
24 */ |
|
25 |
|
26 |
|
27 package sun.tools.javap; |
|
28 |
|
29 public interface RuntimeConstants { |
|
30 |
|
31 /* Signature Characters */ |
|
32 public static final char SIGC_VOID = 'V'; |
|
33 public static final String SIG_VOID = "V"; |
|
34 public static final char SIGC_BOOLEAN = 'Z'; |
|
35 public static final String SIG_BOOLEAN = "Z"; |
|
36 public static final char SIGC_BYTE = 'B'; |
|
37 public static final String SIG_BYTE = "B"; |
|
38 public static final char SIGC_CHAR = 'C'; |
|
39 public static final String SIG_CHAR = "C"; |
|
40 public static final char SIGC_SHORT = 'S'; |
|
41 public static final String SIG_SHORT = "S"; |
|
42 public static final char SIGC_INT = 'I'; |
|
43 public static final String SIG_INT = "I"; |
|
44 public static final char SIGC_LONG = 'J'; |
|
45 public static final String SIG_LONG = "J"; |
|
46 public static final char SIGC_FLOAT = 'F'; |
|
47 public static final String SIG_FLOAT = "F"; |
|
48 public static final char SIGC_DOUBLE = 'D'; |
|
49 public static final String SIG_DOUBLE = "D"; |
|
50 public static final char SIGC_ARRAY = '['; |
|
51 public static final String SIG_ARRAY = "["; |
|
52 public static final char SIGC_CLASS = 'L'; |
|
53 public static final String SIG_CLASS = "L"; |
|
54 public static final char SIGC_METHOD = '('; |
|
55 public static final String SIG_METHOD = "("; |
|
56 public static final char SIGC_ENDCLASS = ';'; |
|
57 public static final String SIG_ENDCLASS = ";"; |
|
58 public static final char SIGC_ENDMETHOD = ')'; |
|
59 public static final String SIG_ENDMETHOD = ")"; |
|
60 public static final char SIGC_PACKAGE = '/'; |
|
61 public static final String SIG_PACKAGE = "/"; |
|
62 |
|
63 /* Class File Constants */ |
|
64 public static final int JAVA_MAGIC = 0xcafebabe; |
|
65 public static final int JAVA_VERSION = 45; |
|
66 public static final int JAVA_MINOR_VERSION = 3; |
|
67 |
|
68 /* Constant table */ |
|
69 public static final int CONSTANT_UTF8 = 1; |
|
70 public static final int CONSTANT_UNICODE = 2; |
|
71 public static final int CONSTANT_INTEGER = 3; |
|
72 public static final int CONSTANT_FLOAT = 4; |
|
73 public static final int CONSTANT_LONG = 5; |
|
74 public static final int CONSTANT_DOUBLE = 6; |
|
75 public static final int CONSTANT_CLASS = 7; |
|
76 public static final int CONSTANT_STRING = 8; |
|
77 public static final int CONSTANT_FIELD = 9; |
|
78 public static final int CONSTANT_METHOD = 10; |
|
79 public static final int CONSTANT_INTERFACEMETHOD = 11; |
|
80 public static final int CONSTANT_NAMEANDTYPE = 12; |
|
81 |
|
82 /* Access Flags */ |
|
83 public static final int ACC_PUBLIC = 0x00000001; |
|
84 public static final int ACC_PRIVATE = 0x00000002; |
|
85 public static final int ACC_PROTECTED = 0x00000004; |
|
86 public static final int ACC_STATIC = 0x00000008; |
|
87 public static final int ACC_FINAL = 0x00000010; |
|
88 public static final int ACC_SYNCHRONIZED = 0x00000020; |
|
89 public static final int ACC_SUPER = 0x00000020; |
|
90 public static final int ACC_VOLATILE = 0x00000040; |
|
91 public static final int ACC_TRANSIENT = 0x00000080; |
|
92 public static final int ACC_NATIVE = 0x00000100; |
|
93 public static final int ACC_INTERFACE = 0x00000200; |
|
94 public static final int ACC_ABSTRACT = 0x00000400; |
|
95 public static final int ACC_STRICT = 0x00000800; |
|
96 public static final int ACC_EXPLICIT = 0x00001000; |
|
97 public static final int ACC_SYNTHETIC = 0x00010000; // actually, this is an attribute |
|
98 |
|
99 /* Type codes */ |
|
100 public static final int T_CLASS = 0x00000002; |
|
101 public static final int T_BOOLEAN = 0x00000004; |
|
102 public static final int T_CHAR = 0x00000005; |
|
103 public static final int T_FLOAT = 0x00000006; |
|
104 public static final int T_DOUBLE = 0x00000007; |
|
105 public static final int T_BYTE = 0x00000008; |
|
106 public static final int T_SHORT = 0x00000009; |
|
107 public static final int T_INT = 0x0000000a; |
|
108 public static final int T_LONG = 0x0000000b; |
|
109 |
|
110 /* Type codes for StackMap attribute */ |
|
111 public static final int ITEM_Bogus =0; // an unknown or uninitialized value |
|
112 public static final int ITEM_Integer =1; // a 32-bit integer |
|
113 public static final int ITEM_Float =2; // not used |
|
114 public static final int ITEM_Double =3; // not used |
|
115 public static final int ITEM_Long =4; // a 64-bit integer |
|
116 public static final int ITEM_Null =5; // the type of null |
|
117 public static final int ITEM_InitObject =6; // "this" in constructor |
|
118 public static final int ITEM_Object =7; // followed by 2-byte index of class name |
|
119 public static final int ITEM_NewObject =8; // followed by 2-byte ref to "new" |
|
120 |
|
121 /* Constants used in StackMapTable attribute */ |
|
122 public static final int SAME_FRAME_BOUND = 64; |
|
123 public static final int SAME_LOCALS_1_STACK_ITEM_BOUND = 128; |
|
124 public static final int SAME_LOCALS_1_STACK_ITEM_EXTENDED = 247; |
|
125 public static final int SAME_FRAME_EXTENDED = 251; |
|
126 public static final int FULL_FRAME = 255; |
|
127 |
|
128 /* Opcodes */ |
|
129 public static final int opc_dead = -2; |
|
130 public static final int opc_label = -1; |
|
131 public static final int opc_nop = 0; |
|
132 public static final int opc_aconst_null = 1; |
|
133 public static final int opc_iconst_m1 = 2; |
|
134 public static final int opc_iconst_0 = 3; |
|
135 public static final int opc_iconst_1 = 4; |
|
136 public static final int opc_iconst_2 = 5; |
|
137 public static final int opc_iconst_3 = 6; |
|
138 public static final int opc_iconst_4 = 7; |
|
139 public static final int opc_iconst_5 = 8; |
|
140 public static final int opc_lconst_0 = 9; |
|
141 public static final int opc_lconst_1 = 10; |
|
142 public static final int opc_fconst_0 = 11; |
|
143 public static final int opc_fconst_1 = 12; |
|
144 public static final int opc_fconst_2 = 13; |
|
145 public static final int opc_dconst_0 = 14; |
|
146 public static final int opc_dconst_1 = 15; |
|
147 public static final int opc_bipush = 16; |
|
148 public static final int opc_sipush = 17; |
|
149 public static final int opc_ldc = 18; |
|
150 public static final int opc_ldc_w = 19; |
|
151 public static final int opc_ldc2_w = 20; |
|
152 public static final int opc_iload = 21; |
|
153 public static final int opc_lload = 22; |
|
154 public static final int opc_fload = 23; |
|
155 public static final int opc_dload = 24; |
|
156 public static final int opc_aload = 25; |
|
157 public static final int opc_iload_0 = 26; |
|
158 public static final int opc_iload_1 = 27; |
|
159 public static final int opc_iload_2 = 28; |
|
160 public static final int opc_iload_3 = 29; |
|
161 public static final int opc_lload_0 = 30; |
|
162 public static final int opc_lload_1 = 31; |
|
163 public static final int opc_lload_2 = 32; |
|
164 public static final int opc_lload_3 = 33; |
|
165 public static final int opc_fload_0 = 34; |
|
166 public static final int opc_fload_1 = 35; |
|
167 public static final int opc_fload_2 = 36; |
|
168 public static final int opc_fload_3 = 37; |
|
169 public static final int opc_dload_0 = 38; |
|
170 public static final int opc_dload_1 = 39; |
|
171 public static final int opc_dload_2 = 40; |
|
172 public static final int opc_dload_3 = 41; |
|
173 public static final int opc_aload_0 = 42; |
|
174 public static final int opc_aload_1 = 43; |
|
175 public static final int opc_aload_2 = 44; |
|
176 public static final int opc_aload_3 = 45; |
|
177 public static final int opc_iaload = 46; |
|
178 public static final int opc_laload = 47; |
|
179 public static final int opc_faload = 48; |
|
180 public static final int opc_daload = 49; |
|
181 public static final int opc_aaload = 50; |
|
182 public static final int opc_baload = 51; |
|
183 public static final int opc_caload = 52; |
|
184 public static final int opc_saload = 53; |
|
185 public static final int opc_istore = 54; |
|
186 public static final int opc_lstore = 55; |
|
187 public static final int opc_fstore = 56; |
|
188 public static final int opc_dstore = 57; |
|
189 public static final int opc_astore = 58; |
|
190 public static final int opc_istore_0 = 59; |
|
191 public static final int opc_istore_1 = 60; |
|
192 public static final int opc_istore_2 = 61; |
|
193 public static final int opc_istore_3 = 62; |
|
194 public static final int opc_lstore_0 = 63; |
|
195 public static final int opc_lstore_1 = 64; |
|
196 public static final int opc_lstore_2 = 65; |
|
197 public static final int opc_lstore_3 = 66; |
|
198 public static final int opc_fstore_0 = 67; |
|
199 public static final int opc_fstore_1 = 68; |
|
200 public static final int opc_fstore_2 = 69; |
|
201 public static final int opc_fstore_3 = 70; |
|
202 public static final int opc_dstore_0 = 71; |
|
203 public static final int opc_dstore_1 = 72; |
|
204 public static final int opc_dstore_2 = 73; |
|
205 public static final int opc_dstore_3 = 74; |
|
206 public static final int opc_astore_0 = 75; |
|
207 public static final int opc_astore_1 = 76; |
|
208 public static final int opc_astore_2 = 77; |
|
209 public static final int opc_astore_3 = 78; |
|
210 public static final int opc_iastore = 79; |
|
211 public static final int opc_lastore = 80; |
|
212 public static final int opc_fastore = 81; |
|
213 public static final int opc_dastore = 82; |
|
214 public static final int opc_aastore = 83; |
|
215 public static final int opc_bastore = 84; |
|
216 public static final int opc_castore = 85; |
|
217 public static final int opc_sastore = 86; |
|
218 public static final int opc_pop = 87; |
|
219 public static final int opc_pop2 = 88; |
|
220 public static final int opc_dup = 89; |
|
221 public static final int opc_dup_x1 = 90; |
|
222 public static final int opc_dup_x2 = 91; |
|
223 public static final int opc_dup2 = 92; |
|
224 public static final int opc_dup2_x1 = 93; |
|
225 public static final int opc_dup2_x2 = 94; |
|
226 public static final int opc_swap = 95; |
|
227 public static final int opc_iadd = 96; |
|
228 public static final int opc_ladd = 97; |
|
229 public static final int opc_fadd = 98; |
|
230 public static final int opc_dadd = 99; |
|
231 public static final int opc_isub = 100; |
|
232 public static final int opc_lsub = 101; |
|
233 public static final int opc_fsub = 102; |
|
234 public static final int opc_dsub = 103; |
|
235 public static final int opc_imul = 104; |
|
236 public static final int opc_lmul = 105; |
|
237 public static final int opc_fmul = 106; |
|
238 public static final int opc_dmul = 107; |
|
239 public static final int opc_idiv = 108; |
|
240 public static final int opc_ldiv = 109; |
|
241 public static final int opc_fdiv = 110; |
|
242 public static final int opc_ddiv = 111; |
|
243 public static final int opc_irem = 112; |
|
244 public static final int opc_lrem = 113; |
|
245 public static final int opc_frem = 114; |
|
246 public static final int opc_drem = 115; |
|
247 public static final int opc_ineg = 116; |
|
248 public static final int opc_lneg = 117; |
|
249 public static final int opc_fneg = 118; |
|
250 public static final int opc_dneg = 119; |
|
251 public static final int opc_ishl = 120; |
|
252 public static final int opc_lshl = 121; |
|
253 public static final int opc_ishr = 122; |
|
254 public static final int opc_lshr = 123; |
|
255 public static final int opc_iushr = 124; |
|
256 public static final int opc_lushr = 125; |
|
257 public static final int opc_iand = 126; |
|
258 public static final int opc_land = 127; |
|
259 public static final int opc_ior = 128; |
|
260 public static final int opc_lor = 129; |
|
261 public static final int opc_ixor = 130; |
|
262 public static final int opc_lxor = 131; |
|
263 public static final int opc_iinc = 132; |
|
264 public static final int opc_i2l = 133; |
|
265 public static final int opc_i2f = 134; |
|
266 public static final int opc_i2d = 135; |
|
267 public static final int opc_l2i = 136; |
|
268 public static final int opc_l2f = 137; |
|
269 public static final int opc_l2d = 138; |
|
270 public static final int opc_f2i = 139; |
|
271 public static final int opc_f2l = 140; |
|
272 public static final int opc_f2d = 141; |
|
273 public static final int opc_d2i = 142; |
|
274 public static final int opc_d2l = 143; |
|
275 public static final int opc_d2f = 144; |
|
276 public static final int opc_i2b = 145; |
|
277 public static final int opc_int2byte = 145; |
|
278 public static final int opc_i2c = 146; |
|
279 public static final int opc_int2char = 146; |
|
280 public static final int opc_i2s = 147; |
|
281 public static final int opc_int2short = 147; |
|
282 public static final int opc_lcmp = 148; |
|
283 public static final int opc_fcmpl = 149; |
|
284 public static final int opc_fcmpg = 150; |
|
285 public static final int opc_dcmpl = 151; |
|
286 public static final int opc_dcmpg = 152; |
|
287 public static final int opc_ifeq = 153; |
|
288 public static final int opc_ifne = 154; |
|
289 public static final int opc_iflt = 155; |
|
290 public static final int opc_ifge = 156; |
|
291 public static final int opc_ifgt = 157; |
|
292 public static final int opc_ifle = 158; |
|
293 public static final int opc_if_icmpeq = 159; |
|
294 public static final int opc_if_icmpne = 160; |
|
295 public static final int opc_if_icmplt = 161; |
|
296 public static final int opc_if_icmpge = 162; |
|
297 public static final int opc_if_icmpgt = 163; |
|
298 public static final int opc_if_icmple = 164; |
|
299 public static final int opc_if_acmpeq = 165; |
|
300 public static final int opc_if_acmpne = 166; |
|
301 public static final int opc_goto = 167; |
|
302 public static final int opc_jsr = 168; |
|
303 public static final int opc_ret = 169; |
|
304 public static final int opc_tableswitch = 170; |
|
305 public static final int opc_lookupswitch = 171; |
|
306 public static final int opc_ireturn = 172; |
|
307 public static final int opc_lreturn = 173; |
|
308 public static final int opc_freturn = 174; |
|
309 public static final int opc_dreturn = 175; |
|
310 public static final int opc_areturn = 176; |
|
311 public static final int opc_return = 177; |
|
312 public static final int opc_getstatic = 178; |
|
313 public static final int opc_putstatic = 179; |
|
314 public static final int opc_getfield = 180; |
|
315 public static final int opc_putfield = 181; |
|
316 public static final int opc_invokevirtual = 182; |
|
317 public static final int opc_invokenonvirtual = 183; |
|
318 public static final int opc_invokespecial = 183; |
|
319 public static final int opc_invokestatic = 184; |
|
320 public static final int opc_invokeinterface = 185; |
|
321 // public static final int opc_xxxunusedxxx = 186; |
|
322 public static final int opc_new = 187; |
|
323 public static final int opc_newarray = 188; |
|
324 public static final int opc_anewarray = 189; |
|
325 public static final int opc_arraylength = 190; |
|
326 public static final int opc_athrow = 191; |
|
327 public static final int opc_checkcast = 192; |
|
328 public static final int opc_instanceof = 193; |
|
329 public static final int opc_monitorenter = 194; |
|
330 public static final int opc_monitorexit = 195; |
|
331 public static final int opc_wide = 196; |
|
332 public static final int opc_multianewarray = 197; |
|
333 public static final int opc_ifnull = 198; |
|
334 public static final int opc_ifnonnull = 199; |
|
335 public static final int opc_goto_w = 200; |
|
336 public static final int opc_jsr_w = 201; |
|
337 /* Pseudo-instructions */ |
|
338 public static final int opc_bytecode = 203; |
|
339 public static final int opc_try = 204; |
|
340 public static final int opc_endtry = 205; |
|
341 public static final int opc_catch = 206; |
|
342 public static final int opc_var = 207; |
|
343 public static final int opc_endvar = 208; |
|
344 public static final int opc_localsmap = 209; |
|
345 public static final int opc_stackmap = 210; |
|
346 /* PicoJava prefixes */ |
|
347 public static final int opc_nonpriv = 254; |
|
348 public static final int opc_priv = 255; |
|
349 |
|
350 /* Wide instructions */ |
|
351 public static final int opc_iload_w = (opc_wide<<8)|opc_iload; |
|
352 public static final int opc_lload_w = (opc_wide<<8)|opc_lload; |
|
353 public static final int opc_fload_w = (opc_wide<<8)|opc_fload; |
|
354 public static final int opc_dload_w = (opc_wide<<8)|opc_dload; |
|
355 public static final int opc_aload_w = (opc_wide<<8)|opc_aload; |
|
356 public static final int opc_istore_w = (opc_wide<<8)|opc_istore; |
|
357 public static final int opc_lstore_w = (opc_wide<<8)|opc_lstore; |
|
358 public static final int opc_fstore_w = (opc_wide<<8)|opc_fstore; |
|
359 public static final int opc_dstore_w = (opc_wide<<8)|opc_dstore; |
|
360 public static final int opc_astore_w = (opc_wide<<8)|opc_astore; |
|
361 public static final int opc_ret_w = (opc_wide<<8)|opc_ret; |
|
362 public static final int opc_iinc_w = (opc_wide<<8)|opc_iinc; |
|
363 |
|
364 /* Opcode Names */ |
|
365 public static final String opcNamesTab[] = { |
|
366 "nop", |
|
367 "aconst_null", |
|
368 "iconst_m1", |
|
369 "iconst_0", |
|
370 "iconst_1", |
|
371 "iconst_2", |
|
372 "iconst_3", |
|
373 "iconst_4", |
|
374 "iconst_5", |
|
375 "lconst_0", |
|
376 "lconst_1", |
|
377 "fconst_0", |
|
378 "fconst_1", |
|
379 "fconst_2", |
|
380 "dconst_0", |
|
381 "dconst_1", |
|
382 "bipush", |
|
383 "sipush", |
|
384 "ldc", |
|
385 "ldc_w", |
|
386 "ldc2_w", |
|
387 "iload", |
|
388 "lload", |
|
389 "fload", |
|
390 "dload", |
|
391 "aload", |
|
392 "iload_0", |
|
393 "iload_1", |
|
394 "iload_2", |
|
395 "iload_3", |
|
396 "lload_0", |
|
397 "lload_1", |
|
398 "lload_2", |
|
399 "lload_3", |
|
400 "fload_0", |
|
401 "fload_1", |
|
402 "fload_2", |
|
403 "fload_3", |
|
404 "dload_0", |
|
405 "dload_1", |
|
406 "dload_2", |
|
407 "dload_3", |
|
408 "aload_0", |
|
409 "aload_1", |
|
410 "aload_2", |
|
411 "aload_3", |
|
412 "iaload", |
|
413 "laload", |
|
414 "faload", |
|
415 "daload", |
|
416 "aaload", |
|
417 "baload", |
|
418 "caload", |
|
419 "saload", |
|
420 "istore", |
|
421 "lstore", |
|
422 "fstore", |
|
423 "dstore", |
|
424 "astore", |
|
425 "istore_0", |
|
426 "istore_1", |
|
427 "istore_2", |
|
428 "istore_3", |
|
429 "lstore_0", |
|
430 "lstore_1", |
|
431 "lstore_2", |
|
432 "lstore_3", |
|
433 "fstore_0", |
|
434 "fstore_1", |
|
435 "fstore_2", |
|
436 "fstore_3", |
|
437 "dstore_0", |
|
438 "dstore_1", |
|
439 "dstore_2", |
|
440 "dstore_3", |
|
441 "astore_0", |
|
442 "astore_1", |
|
443 "astore_2", |
|
444 "astore_3", |
|
445 "iastore", |
|
446 "lastore", |
|
447 "fastore", |
|
448 "dastore", |
|
449 "aastore", |
|
450 "bastore", |
|
451 "castore", |
|
452 "sastore", |
|
453 "pop", |
|
454 "pop2", |
|
455 "dup", |
|
456 "dup_x1", |
|
457 "dup_x2", |
|
458 "dup2", |
|
459 "dup2_x1", |
|
460 "dup2_x2", |
|
461 "swap", |
|
462 "iadd", |
|
463 "ladd", |
|
464 "fadd", |
|
465 "dadd", |
|
466 "isub", |
|
467 "lsub", |
|
468 "fsub", |
|
469 "dsub", |
|
470 "imul", |
|
471 "lmul", |
|
472 "fmul", |
|
473 "dmul", |
|
474 "idiv", |
|
475 "ldiv", |
|
476 "fdiv", |
|
477 "ddiv", |
|
478 "irem", |
|
479 "lrem", |
|
480 "frem", |
|
481 "drem", |
|
482 "ineg", |
|
483 "lneg", |
|
484 "fneg", |
|
485 "dneg", |
|
486 "ishl", |
|
487 "lshl", |
|
488 "ishr", |
|
489 "lshr", |
|
490 "iushr", |
|
491 "lushr", |
|
492 "iand", |
|
493 "land", |
|
494 "ior", |
|
495 "lor", |
|
496 "ixor", |
|
497 "lxor", |
|
498 "iinc", |
|
499 "i2l", |
|
500 "i2f", |
|
501 "i2d", |
|
502 "l2i", |
|
503 "l2f", |
|
504 "l2d", |
|
505 "f2i", |
|
506 "f2l", |
|
507 "f2d", |
|
508 "d2i", |
|
509 "d2l", |
|
510 "d2f", |
|
511 "i2b", |
|
512 "i2c", |
|
513 "i2s", |
|
514 "lcmp", |
|
515 "fcmpl", |
|
516 "fcmpg", |
|
517 "dcmpl", |
|
518 "dcmpg", |
|
519 "ifeq", |
|
520 "ifne", |
|
521 "iflt", |
|
522 "ifge", |
|
523 "ifgt", |
|
524 "ifle", |
|
525 "if_icmpeq", |
|
526 "if_icmpne", |
|
527 "if_icmplt", |
|
528 "if_icmpge", |
|
529 "if_icmpgt", |
|
530 "if_icmple", |
|
531 "if_acmpeq", |
|
532 "if_acmpne", |
|
533 "goto", |
|
534 "jsr", |
|
535 "ret", |
|
536 "tableswitch", |
|
537 "lookupswitch", |
|
538 "ireturn", |
|
539 "lreturn", |
|
540 "freturn", |
|
541 "dreturn", |
|
542 "areturn", |
|
543 "return", |
|
544 "getstatic", |
|
545 "putstatic", |
|
546 "getfield", |
|
547 "putfield", |
|
548 "invokevirtual", |
|
549 "invokespecial", // was "invokenonvirtual", |
|
550 "invokestatic", |
|
551 "invokeinterface", |
|
552 "bytecode 186", //"xxxunusedxxx", |
|
553 "new", |
|
554 "newarray", |
|
555 "anewarray", |
|
556 "arraylength", |
|
557 "athrow", |
|
558 "checkcast", |
|
559 "instanceof", |
|
560 "monitorenter", |
|
561 "monitorexit", |
|
562 null, // "wide", |
|
563 "multianewarray", |
|
564 "ifnull", |
|
565 "ifnonnull", |
|
566 "goto_w", |
|
567 "jsr_w", |
|
568 "bytecode 202", // "breakpoint", |
|
569 "bytecode", |
|
570 "try", |
|
571 "endtry", |
|
572 "catch", |
|
573 "var", |
|
574 "endvar", |
|
575 "locals_map", |
|
576 "stack_map" |
|
577 }; |
|
578 |
|
579 /* Opcode Lengths */ |
|
580 public static final int opcLengthsTab[] = { |
|
581 1, |
|
582 1, |
|
583 1, |
|
584 1, |
|
585 1, |
|
586 1, |
|
587 1, |
|
588 1, |
|
589 1, |
|
590 1, |
|
591 1, |
|
592 1, |
|
593 1, |
|
594 1, |
|
595 1, |
|
596 1, |
|
597 2, |
|
598 3, |
|
599 2, |
|
600 3, |
|
601 3, |
|
602 2, |
|
603 2, |
|
604 2, |
|
605 2, |
|
606 2, |
|
607 1, |
|
608 1, |
|
609 1, |
|
610 1, |
|
611 1, |
|
612 1, |
|
613 1, |
|
614 1, |
|
615 1, |
|
616 1, |
|
617 1, |
|
618 1, |
|
619 1, |
|
620 1, |
|
621 1, |
|
622 1, |
|
623 1, |
|
624 1, |
|
625 1, |
|
626 1, |
|
627 1, |
|
628 1, |
|
629 1, |
|
630 1, |
|
631 1, |
|
632 1, |
|
633 1, |
|
634 1, |
|
635 2, |
|
636 2, |
|
637 2, |
|
638 2, |
|
639 2, |
|
640 1, |
|
641 1, |
|
642 1, |
|
643 1, |
|
644 1, |
|
645 1, |
|
646 1, |
|
647 1, |
|
648 1, |
|
649 1, |
|
650 1, |
|
651 1, |
|
652 1, |
|
653 1, |
|
654 1, |
|
655 1, |
|
656 1, |
|
657 1, |
|
658 1, |
|
659 1, |
|
660 1, |
|
661 1, |
|
662 1, |
|
663 1, |
|
664 1, |
|
665 1, |
|
666 1, |
|
667 1, |
|
668 1, |
|
669 1, |
|
670 1, |
|
671 1, |
|
672 1, |
|
673 1, |
|
674 1, |
|
675 1, |
|
676 1, |
|
677 1, |
|
678 1, |
|
679 1, |
|
680 1, |
|
681 1, |
|
682 1, |
|
683 1, |
|
684 1, |
|
685 1, |
|
686 1, |
|
687 1, |
|
688 1, |
|
689 1, |
|
690 1, |
|
691 1, |
|
692 1, |
|
693 1, |
|
694 1, |
|
695 1, |
|
696 1, |
|
697 1, |
|
698 1, |
|
699 1, |
|
700 1, |
|
701 1, |
|
702 1, |
|
703 1, |
|
704 1, |
|
705 1, |
|
706 1, |
|
707 1, |
|
708 1, |
|
709 1, |
|
710 1, |
|
711 1, |
|
712 1, |
|
713 3, |
|
714 1, |
|
715 1, |
|
716 1, |
|
717 1, |
|
718 1, |
|
719 1, |
|
720 1, |
|
721 1, |
|
722 1, |
|
723 1, |
|
724 1, |
|
725 1, |
|
726 1, |
|
727 1, |
|
728 1, |
|
729 1, |
|
730 1, |
|
731 1, |
|
732 1, |
|
733 1, |
|
734 3, |
|
735 3, |
|
736 3, |
|
737 3, |
|
738 3, |
|
739 3, |
|
740 3, |
|
741 3, |
|
742 3, |
|
743 3, |
|
744 3, |
|
745 3, |
|
746 3, |
|
747 3, |
|
748 3, |
|
749 3, |
|
750 2, |
|
751 99, |
|
752 99, |
|
753 1, |
|
754 1, |
|
755 1, |
|
756 1, |
|
757 1, |
|
758 1, |
|
759 3, |
|
760 3, |
|
761 3, |
|
762 3, |
|
763 3, |
|
764 3, |
|
765 3, |
|
766 5, |
|
767 0, |
|
768 3, |
|
769 2, |
|
770 3, |
|
771 1, |
|
772 1, |
|
773 3, |
|
774 3, |
|
775 1, |
|
776 1, |
|
777 0, // wide |
|
778 4, |
|
779 3, |
|
780 3, |
|
781 5, |
|
782 5, |
|
783 1, |
|
784 1, 0, 0, 0, 0, 0 // pseudo |
|
785 }; |
|
786 |
|
787 } |