KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > org > apache > bcel > internal > Constants


1 package com.sun.org.apache.bcel.internal;
2
3 /* ====================================================================
4  * The Apache Software License, Version 1.1
5  *
6  * Copyright (c) 2001 The Apache Software Foundation. All rights
7  * reserved.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  *
13  * 1. Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  *
16  * 2. Redistributions in binary form must reproduce the above copyright
17  * notice, this list of conditions and the following disclaimer in
18  * the documentation and/or other materials provided with the
19  * distribution.
20  *
21  * 3. The end-user documentation included with the redistribution,
22  * if any, must include the following acknowledgment:
23  * "This product includes software developed by the
24  * Apache Software Foundation (http://www.apache.org/)."
25  * Alternately, this acknowledgment may appear in the software itself,
26  * if and wherever such third-party acknowledgments normally appear.
27  *
28  * 4. The names "Apache" and "Apache Software Foundation" and
29  * "Apache BCEL" must not be used to endorse or promote products
30  * derived from this software without prior written permission. For
31  * written permission, please contact apache@apache.org.
32  *
33  * 5. Products derived from this software may not be called "Apache",
34  * "Apache BCEL", nor may "Apache" appear in their name, without
35  * prior written permission of the Apache Software Foundation.
36  *
37  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
41  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48  * SUCH DAMAGE.
49  * ====================================================================
50  *
51  * This software consists of voluntary contributions made by many
52  * individuals on behalf of the Apache Software Foundation. For more
53  * information on the Apache Software Foundation, please see
54  * <http://www.apache.org/>.
55  */

56
57 /**
58  * Constants for the project, mostly defined in the JVM specification.
59  *
60  * @version $Id: Constants.java,v 1.1.1.1 2001/10/29 19:59:56 jvanzyl Exp $
61  * @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A>
62  */

63 public interface Constants {
64   /** Major and minor version of the code.
65    */

66   public final static short MAJOR_1_1 = 45;
67   public final static short MINOR_1_1 = 3;
68   public final static short MAJOR_1_2 = 46;
69   public final static short MINOR_1_2 = 0;
70   public final static short MAJOR_1_3 = 47;
71   public final static short MINOR_1_3 = 0;
72   public final static short MAJOR = MAJOR_1_1; // Defaults
73
public final static short MINOR = MINOR_1_1;
74
75   /** Maximum value for an unsigned short.
76    */

77   public final static int MAX_SHORT = 65535; // 2^16 - 1
78

79   /** Maximum value for an unsigned byte.
80    */

81   public final static int MAX_BYTE = 255; // 2^8 - 1
82

83   /** Access flags for classes, fields and methods.
84    */

85   public final static short ACC_PUBLIC = 0x0001;
86   public final static short ACC_PRIVATE = 0x0002;
87   public final static short ACC_PROTECTED = 0x0004;
88   public final static short ACC_STATIC = 0x0008;
89
90   public final static short ACC_FINAL = 0x0010;
91   public final static short ACC_SYNCHRONIZED = 0x0020;
92   public final static short ACC_VOLATILE = 0x0040;
93   public final static short ACC_TRANSIENT = 0x0080;
94
95   public final static short ACC_NATIVE = 0x0100;
96   public final static short ACC_INTERFACE = 0x0200;
97   public final static short ACC_ABSTRACT = 0x0400;
98   public final static short ACC_STRICT = 0x0800;
99
100   // Applies to classes compiled by new compilers only
101
public final static short ACC_SUPER = 0x0020;
102
103   public final static short MAX_ACC_FLAG = ACC_ABSTRACT;
104
105   public final static String JavaDoc[] ACCESS_NAMES = {
106     "public", "private", "protected", "static", "final", "synchronized",
107     "volatile", "transient", "native", "interface", "abstract"
108   };
109
110   /** Tags in constant pool to denote type of constant.
111    */

112   public final static byte CONSTANT_Utf8 = 1;
113   public final static byte CONSTANT_Integer = 3;
114   public final static byte CONSTANT_Float = 4;
115   public final static byte CONSTANT_Long = 5;
116   public final static byte CONSTANT_Double = 6;
117   public final static byte CONSTANT_Class = 7;
118   public final static byte CONSTANT_Fieldref = 9;
119   public final static byte CONSTANT_String = 8;
120   public final static byte CONSTANT_Methodref = 10;
121   public final static byte CONSTANT_InterfaceMethodref = 11;
122   public final static byte CONSTANT_NameAndType = 12;
123
124   public final static String JavaDoc[] CONSTANT_NAMES = {
125     "", "CONSTANT_Utf8", "", "CONSTANT_Integer",
126     "CONSTANT_Float", "CONSTANT_Long", "CONSTANT_Double",
127     "CONSTANT_Class", "CONSTANT_String", "CONSTANT_Fieldref",
128     "CONSTANT_Methodref", "CONSTANT_InterfaceMethodref",
129     "CONSTANT_NameAndType" };
130
131   /** The name of the static initializer, also called &quot;class
132    * initialization method&quot; or &quot;interface initialization
133    * method&quot;. This is &quot;&lt;clinit&gt;&quot;.
134    */

135   public final static String JavaDoc STATIC_INITIALIZER_NAME = "<clinit>";
136
137   /** The name of every constructor method in a class, also called
138    * &quot;instance initialization method&quot;. This is &quot;&lt;init&gt;&quot;.
139    */

140   public final static String JavaDoc CONSTRUCTOR_NAME = "<init>";
141
142   /** The names of the interfaces implemented by arrays */
143   public final static String JavaDoc[] INTERFACES_IMPLEMENTED_BY_ARRAYS = {"java.lang.Cloneable", "java.io.Serializable"};
144
145   /**
146    * Limitations of the Java Virtual Machine.
147    * See The Java Virtual Machine Specification, Second Edition, page 152, chapter 4.10.
148    */

149   public static final int MAX_CP_ENTRIES = 65535;
150   public static final int MAX_CODE_SIZE = 65536; //bytes
151

152   /** Java VM opcodes.
153    */

154   public static final short NOP = 0;
155   public static final short ACONST_NULL = 1;
156   public static final short ICONST_M1 = 2;
157   public static final short ICONST_0 = 3;
158   public static final short ICONST_1 = 4;
159   public static final short ICONST_2 = 5;
160   public static final short ICONST_3 = 6;
161   public static final short ICONST_4 = 7;
162   public static final short ICONST_5 = 8;
163   public static final short LCONST_0 = 9;
164   public static final short LCONST_1 = 10;
165   public static final short FCONST_0 = 11;
166   public static final short FCONST_1 = 12;
167   public static final short FCONST_2 = 13;
168   public static final short DCONST_0 = 14;
169   public static final short DCONST_1 = 15;
170   public static final short BIPUSH = 16;
171   public static final short SIPUSH = 17;
172   public static final short LDC = 18;
173   public static final short LDC_W = 19;
174   public static final short LDC2_W = 20;
175   public static final short ILOAD = 21;
176   public static final short LLOAD = 22;
177   public static final short FLOAD = 23;
178   public static final short DLOAD = 24;
179   public static final short ALOAD = 25;
180   public static final short ILOAD_0 = 26;
181   public static final short ILOAD_1 = 27;
182   public static final short ILOAD_2 = 28;
183   public static final short ILOAD_3 = 29;
184   public static final short LLOAD_0 = 30;
185   public static final short LLOAD_1 = 31;
186   public static final short LLOAD_2 = 32;
187   public static final short LLOAD_3 = 33;
188   public static final short FLOAD_0 = 34;
189   public static final short FLOAD_1 = 35;
190   public static final short FLOAD_2 = 36;
191   public static final short FLOAD_3 = 37;
192   public static final short DLOAD_0 = 38;
193   public static final short DLOAD_1 = 39;
194   public static final short DLOAD_2 = 40;
195   public static final short DLOAD_3 = 41;
196   public static final short ALOAD_0 = 42;
197   public static final short ALOAD_1 = 43;
198   public static final short ALOAD_2 = 44;
199   public static final short ALOAD_3 = 45;
200   public static final short IALOAD = 46;
201   public static final short LALOAD = 47;
202   public static final short FALOAD = 48;
203   public static final short DALOAD = 49;
204   public static final short AALOAD = 50;
205   public static final short BALOAD = 51;
206   public static final short CALOAD = 52;
207   public static final short SALOAD = 53;
208   public static final short ISTORE = 54;
209   public static final short LSTORE = 55;
210   public static final short FSTORE = 56;
211   public static final short DSTORE = 57;
212   public static final short ASTORE = 58;
213   public static final short ISTORE_0 = 59;
214   public static final short ISTORE_1 = 60;
215   public static final short ISTORE_2 = 61;
216   public static final short ISTORE_3 = 62;
217   public static final short LSTORE_0 = 63;
218   public static final short LSTORE_1 = 64;
219   public static final short LSTORE_2 = 65;
220   public static final short LSTORE_3 = 66;
221   public static final short FSTORE_0 = 67;
222   public static final short FSTORE_1 = 68;
223   public static final short FSTORE_2 = 69;
224   public static final short FSTORE_3 = 70;
225   public static final short DSTORE_0 = 71;
226   public static final short DSTORE_1 = 72;
227   public static final short DSTORE_2 = 73;
228   public static final short DSTORE_3 = 74;
229   public static final short ASTORE_0 = 75;
230   public static final short ASTORE_1 = 76;
231   public static final short ASTORE_2 = 77;
232   public static final short ASTORE_3 = 78;
233   public static final short IASTORE = 79;
234   public static final short LASTORE = 80;
235   public static final short FASTORE = 81;
236   public static final short DASTORE = 82;
237   public static final short AASTORE = 83;
238   public static final short BASTORE = 84;
239   public static final short CASTORE = 85;
240   public static final short SASTORE = 86;
241   public static final short POP = 87;
242   public static final short POP2 = 88;
243   public static final short DUP = 89;
244   public static final short DUP_X1 = 90;
245   public static final short DUP_X2 = 91;
246   public static final short DUP2 = 92;
247   public static final short DUP2_X1 = 93;
248   public static final short DUP2_X2 = 94;
249   public static final short SWAP = 95;
250   public static final short IADD = 96;
251   public static final short LADD = 97;
252   public static final short FADD = 98;
253   public static final short DADD = 99;
254   public static final short ISUB = 100;
255   public static final short LSUB = 101;
256   public static final short FSUB = 102;
257   public static final short DSUB = 103;
258   public static final short IMUL = 104;
259   public static final short LMUL = 105;
260   public static final short FMUL = 106;
261   public static final short DMUL = 107;
262   public static final short IDIV = 108;
263   public static final short LDIV = 109;
264   public static final short FDIV = 110;
265   public static final short DDIV = 111;
266   public static final short IREM = 112;
267   public static final short LREM = 113;
268   public static final short FREM = 114;
269   public static final short DREM = 115;
270   public static final short INEG = 116;
271   public static final short LNEG = 117;
272   public static final short FNEG = 118;
273   public static final short DNEG = 119;
274   public static final short ISHL = 120;
275   public static final short LSHL = 121;
276   public static final short ISHR = 122;
277   public static final short LSHR = 123;
278   public static final short IUSHR = 124;
279   public static final short LUSHR = 125;
280   public static final short IAND = 126;
281   public static final short LAND = 127;
282   public static final short IOR = 128;
283   public static final short LOR = 129;
284   public static final short IXOR = 130;
285   public static final short LXOR = 131;
286   public static final short IINC = 132;
287   public static final short I2L = 133;
288   public static final short I2F = 134;
289   public static final short I2D = 135;
290   public static final short L2I = 136;
291   public static final short L2F = 137;
292   public static final short L2D = 138;
293   public static final short F2I = 139;
294   public static final short F2L = 140;
295   public static final short F2D = 141;
296   public static final short D2I = 142;
297   public static final short D2L = 143;
298   public static final short D2F = 144;
299   public static final short I2B = 145;
300   public static final short INT2BYTE = 145; // Old notion
301
public static final short I2C = 146;
302   public static final short INT2CHAR = 146; // Old notion
303
public static final short I2S = 147;
304   public static final short INT2SHORT = 147; // Old notion
305
public static final short LCMP = 148;
306   public static final short FCMPL = 149;
307   public static final short FCMPG = 150;
308   public static final short DCMPL = 151;
309   public static final short DCMPG = 152;
310   public static final short IFEQ = 153;
311   public static final short IFNE = 154;
312   public static final short IFLT = 155;
313   public static final short IFGE = 156;
314   public static final short IFGT = 157;
315   public static final short IFLE = 158;
316   public static final short IF_ICMPEQ = 159;
317   public static final short IF_ICMPNE = 160;
318   public static final short IF_ICMPLT = 161;
319   public static final short IF_ICMPGE = 162;
320   public static final short IF_ICMPGT = 163;
321   public static final short IF_ICMPLE = 164;
322   public static final short IF_ACMPEQ = 165;
323   public static final short IF_ACMPNE = 166;
324   public static final short GOTO = 167;
325   public static final short JSR = 168;
326   public static final short RET = 169;
327   public static final short TABLESWITCH = 170;
328   public static final short LOOKUPSWITCH = 171;
329   public static final short IRETURN = 172;
330   public static final short LRETURN = 173;
331   public static final short FRETURN = 174;
332   public static final short DRETURN = 175;
333   public static final short ARETURN = 176;
334   public static final short RETURN = 177;
335   public static final short GETSTATIC = 178;
336   public static final short PUTSTATIC = 179;
337   public static final short GETFIELD = 180;
338   public static final short PUTFIELD = 181;
339   public static final short INVOKEVIRTUAL = 182;
340   public static final short INVOKESPECIAL = 183;
341   public static final short INVOKENONVIRTUAL = 183; // Old name in JDK 1.0
342
public static final short INVOKESTATIC = 184;
343   public static final short INVOKEINTERFACE = 185;
344   public static final short NEW = 187;
345   public static final short NEWARRAY = 188;
346   public static final short ANEWARRAY = 189;
347   public static final short ARRAYLENGTH = 190;
348   public static final short ATHROW = 191;
349   public static final short CHECKCAST = 192;
350   public static final short INSTANCEOF = 193;
351   public static final short MONITORENTER = 194;
352   public static final short MONITOREXIT = 195;
353   public static final short WIDE = 196;
354   public static final short MULTIANEWARRAY = 197;
355   public static final short IFNULL = 198;
356   public static final short IFNONNULL = 199;
357   public static final short GOTO_W = 200;
358   public static final short JSR_W = 201;
359
360   /**
361    * Non-legal opcodes, may be used by JVM internally.
362    */

363   public static final short BREAKPOINT = 202;
364   public static final short LDC_QUICK = 203;
365   public static final short LDC_W_QUICK = 204;
366   public static final short LDC2_W_QUICK = 205;
367   public static final short GETFIELD_QUICK = 206;
368   public static final short PUTFIELD_QUICK = 207;
369   public static final short GETFIELD2_QUICK = 208;
370   public static final short PUTFIELD2_QUICK = 209;
371   public static final short GETSTATIC_QUICK = 210;
372   public static final short PUTSTATIC_QUICK = 211;
373   public static final short GETSTATIC2_QUICK = 212;
374   public static final short PUTSTATIC2_QUICK = 213;
375   public static final short INVOKEVIRTUAL_QUICK = 214;
376   public static final short INVOKENONVIRTUAL_QUICK = 215;
377   public static final short INVOKESUPER_QUICK = 216;
378   public static final short INVOKESTATIC_QUICK = 217;
379   public static final short INVOKEINTERFACE_QUICK = 218;
380   public static final short INVOKEVIRTUALOBJECT_QUICK = 219;
381   public static final short NEW_QUICK = 221;
382   public static final short ANEWARRAY_QUICK = 222;
383   public static final short MULTIANEWARRAY_QUICK = 223;
384   public static final short CHECKCAST_QUICK = 224;
385   public static final short INSTANCEOF_QUICK = 225;
386   public static final short INVOKEVIRTUAL_QUICK_W = 226;
387   public static final short GETFIELD_QUICK_W = 227;
388   public static final short PUTFIELD_QUICK_W = 228;
389   public static final short IMPDEP1 = 254;
390   public static final short IMPDEP2 = 255;
391
392   /**
393    * For internal purposes only.
394    */

395   public static final short PUSH = 4711;
396   public static final short SWITCH = 4712;
397
398   /**
399    * Illegal codes
400    */

401   public static final short UNDEFINED = -1;
402   public static final short UNPREDICTABLE = -2;
403   public static final short RESERVED = -3;
404   public static final String JavaDoc ILLEGAL_OPCODE = "<illegal opcode>";
405   public static final String JavaDoc ILLEGAL_TYPE = "<illegal type>";
406
407   public static final byte T_BOOLEAN = 4;
408   public static final byte T_CHAR = 5;
409   public static final byte T_FLOAT = 6;
410   public static final byte T_DOUBLE = 7;
411   public static final byte T_BYTE = 8;
412   public static final byte T_SHORT = 9;
413   public static final byte T_INT = 10;
414   public static final byte T_LONG = 11;
415
416   public static final byte T_VOID = 12; // Non-standard
417
public static final byte T_ARRAY = 13;
418   public static final byte T_OBJECT = 14;
419   public static final byte T_REFERENCE = 14; // Deprecated
420
public static final byte T_UNKNOWN = 15;
421   public static final byte T_ADDRESS = 16;
422
423   public static final String JavaDoc[] TYPE_NAMES = {
424     ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE,
425     "boolean", "char", "float", "double", "byte", "short", "int", "long",
426     "void", "array", "object", "unknown" // Non-standard
427
};
428
429   public static final String JavaDoc[] SHORT_TYPE_NAMES = {
430     ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE,
431     "Z", "C", "F", "D", "B", "S", "I", "J",
432     "V", ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE
433   };
434
435   /**
436    * Number of byte code operands, i.e., number of bytes after the tag byte
437    * itself.
438    */

439   public static final short[] NO_OF_OPERANDS = {
440     0/*nop*/, 0/*aconst_null*/, 0/*iconst_m1*/, 0/*iconst_0*/,
441     0/*iconst_1*/, 0/*iconst_2*/, 0/*iconst_3*/, 0/*iconst_4*/,
442     0/*iconst_5*/, 0/*lconst_0*/, 0/*lconst_1*/, 0/*fconst_0*/,
443     0/*fconst_1*/, 0/*fconst_2*/, 0/*dconst_0*/, 0/*dconst_1*/,
444     1/*bipush*/, 2/*sipush*/, 1/*ldc*/, 2/*ldc_w*/, 2/*ldc2_w*/,
445     1/*iload*/, 1/*lload*/, 1/*fload*/, 1/*dload*/, 1/*aload*/,
446     0/*iload_0*/, 0/*iload_1*/, 0/*iload_2*/, 0/*iload_3*/,
447     0/*lload_0*/, 0/*lload_1*/, 0/*lload_2*/, 0/*lload_3*/,
448     0/*fload_0*/, 0/*fload_1*/, 0/*fload_2*/, 0/*fload_3*/,
449     0/*dload_0*/, 0/*dload_1*/, 0/*dload_2*/, 0/*dload_3*/,
450     0/*aload_0*/, 0/*aload_1*/, 0/*aload_2*/, 0/*aload_3*/,
451     0/*iaload*/, 0/*laload*/, 0/*faload*/, 0/*daload*/,
452     0/*aaload*/, 0/*baload*/, 0/*caload*/, 0/*saload*/,
453     1/*istore*/, 1/*lstore*/, 1/*fstore*/, 1/*dstore*/,
454     1/*astore*/, 0/*istore_0*/, 0/*istore_1*/, 0/*istore_2*/,
455     0/*istore_3*/, 0/*lstore_0*/, 0/*lstore_1*/, 0/*lstore_2*/,
456     0/*lstore_3*/, 0/*fstore_0*/, 0/*fstore_1*/, 0/*fstore_2*/,
457     0/*fstore_3*/, 0/*dstore_0*/, 0/*dstore_1*/, 0/*dstore_2*/,
458     0/*dstore_3*/, 0/*astore_0*/, 0/*astore_1*/, 0/*astore_2*/,
459     0/*astore_3*/, 0/*iastore*/, 0/*lastore*/, 0/*fastore*/,
460     0/*dastore*/, 0/*aastore*/, 0/*bastore*/, 0/*castore*/,
461     0/*sastore*/, 0/*pop*/, 0/*pop2*/, 0/*dup*/, 0/*dup_x1*/,
462     0/*dup_x2*/, 0/*dup2*/, 0/*dup2_x1*/, 0/*dup2_x2*/, 0/*swap*/,
463     0/*iadd*/, 0/*ladd*/, 0/*fadd*/, 0/*dadd*/, 0/*isub*/,
464     0/*lsub*/, 0/*fsub*/, 0/*dsub*/, 0/*imul*/, 0/*lmul*/,
465     0/*fmul*/, 0/*dmul*/, 0/*idiv*/, 0/*ldiv*/, 0/*fdiv*/,
466     0/*ddiv*/, 0/*irem*/, 0/*lrem*/, 0/*frem*/, 0/*drem*/,
467     0/*ineg*/, 0/*lneg*/, 0/*fneg*/, 0/*dneg*/, 0/*ishl*/,
468     0/*lshl*/, 0/*ishr*/, 0/*lshr*/, 0/*iushr*/, 0/*lushr*/,
469     0/*iand*/, 0/*land*/, 0/*ior*/, 0/*lor*/, 0/*ixor*/, 0/*lxor*/,
470     2/*iinc*/, 0/*i2l*/, 0/*i2f*/, 0/*i2d*/, 0/*l2i*/, 0/*l2f*/,
471     0/*l2d*/, 0/*f2i*/, 0/*f2l*/, 0/*f2d*/, 0/*d2i*/, 0/*d2l*/,
472     0/*d2f*/, 0/*i2b*/, 0/*i2c*/, 0/*i2s*/, 0/*lcmp*/, 0/*fcmpl*/,
473     0/*fcmpg*/, 0/*dcmpl*/, 0/*dcmpg*/, 2/*ifeq*/, 2/*ifne*/,
474     2/*iflt*/, 2/*ifge*/, 2/*ifgt*/, 2/*ifle*/, 2/*if_icmpeq*/,
475     2/*if_icmpne*/, 2/*if_icmplt*/, 2/*if_icmpge*/, 2/*if_icmpgt*/,
476     2/*if_icmple*/, 2/*if_acmpeq*/, 2/*if_acmpne*/, 2/*goto*/,
477     2/*jsr*/, 1/*ret*/, UNPREDICTABLE/*tableswitch*/, UNPREDICTABLE/*lookupswitch*/,
478     0/*ireturn*/, 0/*lreturn*/, 0/*freturn*/,
479     0/*dreturn*/, 0/*areturn*/, 0/*return*/,
480     2/*getstatic*/, 2/*putstatic*/, 2/*getfield*/,
481     2/*putfield*/, 2/*invokevirtual*/, 2/*invokespecial*/, 2/*invokestatic*/,
482     4/*invokeinterface*/, UNDEFINED, 2/*new*/,
483     1/*newarray*/, 2/*anewarray*/,
484     0/*arraylength*/, 0/*athrow*/, 2/*checkcast*/,
485     2/*instanceof*/, 0/*monitorenter*/,
486     0/*monitorexit*/, UNPREDICTABLE/*wide*/, 3/*multianewarray*/,
487     2/*ifnull*/, 2/*ifnonnull*/, 4/*goto_w*/,
488     4/*jsr_w*/, 0/*breakpoint*/, UNDEFINED,
489     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
490     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
491     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
492     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
493     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
494     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
495     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
496     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
497     UNDEFINED, UNDEFINED, RESERVED/*impdep1*/, RESERVED/*impdep2*/
498   };
499
500   /**
501    * How the byte code operands are to be interpreted.
502    */

503   public static final short[][] TYPE_OF_OPERANDS = {
504     {}/*nop*/, {}/*aconst_null*/, {}/*iconst_m1*/, {}/*iconst_0*/,
505     {}/*iconst_1*/, {}/*iconst_2*/, {}/*iconst_3*/, {}/*iconst_4*/,
506     {}/*iconst_5*/, {}/*lconst_0*/, {}/*lconst_1*/, {}/*fconst_0*/,
507     {}/*fconst_1*/, {}/*fconst_2*/, {}/*dconst_0*/, {}/*dconst_1*/,
508     {T_BYTE}/*bipush*/, {T_SHORT}/*sipush*/, {T_BYTE}/*ldc*/,
509     {T_SHORT}/*ldc_w*/, {T_SHORT}/*ldc2_w*/,
510     {T_BYTE}/*iload*/, {T_BYTE}/*lload*/, {T_BYTE}/*fload*/,
511     {T_BYTE}/*dload*/, {T_BYTE}/*aload*/, {}/*iload_0*/,
512     {}/*iload_1*/, {}/*iload_2*/, {}/*iload_3*/, {}/*lload_0*/,
513     {}/*lload_1*/, {}/*lload_2*/, {}/*lload_3*/, {}/*fload_0*/,
514     {}/*fload_1*/, {}/*fload_2*/, {}/*fload_3*/, {}/*dload_0*/,
515     {}/*dload_1*/, {}/*dload_2*/, {}/*dload_3*/, {}/*aload_0*/,
516     {}/*aload_1*/, {}/*aload_2*/, {}/*aload_3*/, {}/*iaload*/,
517     {}/*laload*/, {}/*faload*/, {}/*daload*/, {}/*aaload*/,
518     {}/*baload*/, {}/*caload*/, {}/*saload*/, {T_BYTE}/*istore*/,
519     {T_BYTE}/*lstore*/, {T_BYTE}/*fstore*/, {T_BYTE}/*dstore*/,
520     {T_BYTE}/*astore*/, {}/*istore_0*/, {}/*istore_1*/,
521     {}/*istore_2*/, {}/*istore_3*/, {}/*lstore_0*/, {}/*lstore_1*/,
522     {}/*lstore_2*/, {}/*lstore_3*/, {}/*fstore_0*/, {}/*fstore_1*/,
523     {}/*fstore_2*/, {}/*fstore_3*/, {}/*dstore_0*/, {}/*dstore_1*/,
524     {}/*dstore_2*/, {}/*dstore_3*/, {}/*astore_0*/, {}/*astore_1*/,
525     {}/*astore_2*/, {}/*astore_3*/, {}/*iastore*/, {}/*lastore*/,
526     {}/*fastore*/, {}/*dastore*/, {}/*aastore*/, {}/*bastore*/,
527     {}/*castore*/, {}/*sastore*/, {}/*pop*/, {}/*pop2*/, {}/*dup*/,
528     {}/*dup_x1*/, {}/*dup_x2*/, {}/*dup2*/, {}/*dup2_x1*/,
529     {}/*dup2_x2*/, {}/*swap*/, {}/*iadd*/, {}/*ladd*/, {}/*fadd*/,
530     {}/*dadd*/, {}/*isub*/, {}/*lsub*/, {}/*fsub*/, {}/*dsub*/,
531     {}/*imul*/, {}/*lmul*/, {}/*fmul*/, {}/*dmul*/, {}/*idiv*/,
532     {}/*ldiv*/, {}/*fdiv*/, {}/*ddiv*/, {}/*irem*/, {}/*lrem*/,
533     {}/*frem*/, {}/*drem*/, {}/*ineg*/, {}/*lneg*/, {}/*fneg*/,
534     {}/*dneg*/, {}/*ishl*/, {}/*lshl*/, {}/*ishr*/, {}/*lshr*/,
535     {}/*iushr*/, {}/*lushr*/, {}/*iand*/, {}/*land*/, {}/*ior*/,
536     {}/*lor*/, {}/*ixor*/, {}/*lxor*/, {T_BYTE, T_BYTE}/*iinc*/,
537     {}/*i2l*/, {}/*i2f*/, {}/*i2d*/, {}/*l2i*/, {}/*l2f*/, {}/*l2d*/,
538     {}/*f2i*/, {}/*f2l*/, {}/*f2d*/, {}/*d2i*/, {}/*d2l*/, {}/*d2f*/,
539     {}/*i2b*/, {}/*i2c*/,{}/*i2s*/, {}/*lcmp*/, {}/*fcmpl*/,
540     {}/*fcmpg*/, {}/*dcmpl*/, {}/*dcmpg*/, {T_SHORT}/*ifeq*/,
541     {T_SHORT}/*ifne*/, {T_SHORT}/*iflt*/, {T_SHORT}/*ifge*/,
542     {T_SHORT}/*ifgt*/, {T_SHORT}/*ifle*/, {T_SHORT}/*if_icmpeq*/,
543     {T_SHORT}/*if_icmpne*/, {T_SHORT}/*if_icmplt*/,
544     {T_SHORT}/*if_icmpge*/, {T_SHORT}/*if_icmpgt*/,
545     {T_SHORT}/*if_icmple*/, {T_SHORT}/*if_acmpeq*/,
546     {T_SHORT}/*if_acmpne*/, {T_SHORT}/*goto*/, {T_SHORT}/*jsr*/,
547     {T_BYTE}/*ret*/, {}/*tableswitch*/, {}/*lookupswitch*/,
548     {}/*ireturn*/, {}/*lreturn*/, {}/*freturn*/, {}/*dreturn*/,
549     {}/*areturn*/, {}/*return*/, {T_SHORT}/*getstatic*/,
550     {T_SHORT}/*putstatic*/, {T_SHORT}/*getfield*/,
551     {T_SHORT}/*putfield*/, {T_SHORT}/*invokevirtual*/,
552     {T_SHORT}/*invokespecial*/, {T_SHORT}/*invokestatic*/,
553     {T_SHORT, T_BYTE, T_BYTE}/*invokeinterface*/, {},
554     {T_SHORT}/*new*/, {T_BYTE}/*newarray*/,
555     {T_SHORT}/*anewarray*/, {}/*arraylength*/, {}/*athrow*/,
556     {T_SHORT}/*checkcast*/, {T_SHORT}/*instanceof*/,
557     {}/*monitorenter*/, {}/*monitorexit*/, {T_BYTE}/*wide*/,
558     {T_SHORT, T_BYTE}/*multianewarray*/, {T_SHORT}/*ifnull*/,
559     {T_SHORT}/*ifnonnull*/, {T_INT}/*goto_w*/, {T_INT}/*jsr_w*/,
560     {}/*breakpoint*/, {}, {}, {}, {}, {}, {}, {},
561     {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
562     {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
563     {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
564     {}/*impdep1*/, {}/*impdep2*/
565   };
566
567   /**
568    * Names of opcodes.
569    */

570   public static final String JavaDoc[] OPCODE_NAMES = {
571     "nop", "aconst_null", "iconst_m1", "iconst_0", "iconst_1",
572     "iconst_2", "iconst_3", "iconst_4", "iconst_5", "lconst_0",
573     "lconst_1", "fconst_0", "fconst_1", "fconst_2", "dconst_0",
574     "dconst_1", "bipush", "sipush", "ldc", "ldc_w", "ldc2_w", "iload",
575     "lload", "fload", "dload", "aload", "iload_0", "iload_1", "iload_2",
576     "iload_3", "lload_0", "lload_1", "lload_2", "lload_3", "fload_0",
577     "fload_1", "fload_2", "fload_3", "dload_0", "dload_1", "dload_2",
578     "dload_3", "aload_0", "aload_1", "aload_2", "aload_3", "iaload",
579     "laload", "faload", "daload", "aaload", "baload", "caload", "saload",
580     "istore", "lstore", "fstore", "dstore", "astore", "istore_0",
581     "istore_1", "istore_2", "istore_3", "lstore_0", "lstore_1",
582     "lstore_2", "lstore_3", "fstore_0", "fstore_1", "fstore_2",
583     "fstore_3", "dstore_0", "dstore_1", "dstore_2", "dstore_3",
584     "astore_0", "astore_1", "astore_2", "astore_3", "iastore", "lastore",
585     "fastore", "dastore", "aastore", "bastore", "castore", "sastore",
586     "pop", "pop2", "dup", "dup_x1", "dup_x2", "dup2", "dup2_x1",
587     "dup2_x2", "swap", "iadd", "ladd", "fadd", "dadd", "isub", "lsub",
588     "fsub", "dsub", "imul", "lmul", "fmul", "dmul", "idiv", "ldiv",
589     "fdiv", "ddiv", "irem", "lrem", "frem", "drem", "ineg", "lneg",
590     "fneg", "dneg", "ishl", "lshl", "ishr", "lshr", "iushr", "lushr",
591     "iand", "land", "ior", "lor", "ixor", "lxor", "iinc", "i2l", "i2f",
592     "i2d", "l2i", "l2f", "l2d", "f2i", "f2l", "f2d", "d2i", "d2l", "d2f",
593     "i2b", "i2c", "i2s", "lcmp", "fcmpl", "fcmpg",
594     "dcmpl", "dcmpg", "ifeq", "ifne", "iflt", "ifge", "ifgt", "ifle",
595     "if_icmpeq", "if_icmpne", "if_icmplt", "if_icmpge", "if_icmpgt",
596     "if_icmple", "if_acmpeq", "if_acmpne", "goto", "jsr", "ret",
597     "tableswitch", "lookupswitch", "ireturn", "lreturn", "freturn",
598     "dreturn", "areturn", "return", "getstatic", "putstatic", "getfield",
599     "putfield", "invokevirtual", "invokespecial", "invokestatic",
600     "invokeinterface", ILLEGAL_OPCODE, "new", "newarray", "anewarray",
601     "arraylength", "athrow", "checkcast", "instanceof", "monitorenter",
602     "monitorexit", "wide", "multianewarray", "ifnull", "ifnonnull",
603     "goto_w", "jsr_w", "breakpoint", ILLEGAL_OPCODE, ILLEGAL_OPCODE,
604     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
605     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
606     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
607     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
608     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
609     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
610     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
611     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
612     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
613     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
614     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
615     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
616     ILLEGAL_OPCODE, "impdep1", "impdep2"
617   };
618
619   /**
620    * Number of words consumed on operand stack by instructions.
621    */

622   public static final int[] CONSUME_STACK = {
623     0/*nop*/, 0/*aconst_null*/, 0/*iconst_m1*/, 0/*iconst_0*/, 0/*iconst_1*/,
624     0/*iconst_2*/, 0/*iconst_3*/, 0/*iconst_4*/, 0/*iconst_5*/, 0/*lconst_0*/,
625     0/*lconst_1*/, 0/*fconst_0*/, 0/*fconst_1*/, 0/*fconst_2*/, 0/*dconst_0*/,
626     0/*dconst_1*/, 0/*bipush*/, 0/*sipush*/, 0/*ldc*/, 0/*ldc_w*/, 0/*ldc2_w*/, 0/*iload*/,
627     0/*lload*/, 0/*fload*/, 0/*dload*/, 0/*aload*/, 0/*iload_0*/, 0/*iload_1*/, 0/*iload_2*/,
628     0/*iload_3*/, 0/*lload_0*/, 0/*lload_1*/, 0/*lload_2*/, 0/*lload_3*/, 0/*fload_0*/,
629     0/*fload_1*/, 0/*fload_2*/, 0/*fload_3*/, 0/*dload_0*/, 0/*dload_1*/, 0/*dload_2*/,
630     0/*dload_3*/, 0/*aload_0*/, 0/*aload_1*/, 0/*aload_2*/, 0/*aload_3*/, 2/*iaload*/,
631     2/*laload*/, 2/*faload*/, 2/*daload*/, 2/*aaload*/, 2/*baload*/, 2/*caload*/, 2/*saload*/,
632     1/*istore*/, 2/*lstore*/, 1/*fstore*/, 2/*dstore*/, 1/*astore*/, 1/*istore_0*/,
633     1/*istore_1*/, 1/*istore_2*/, 1/*istore_3*/, 2/*lstore_0*/, 2/*lstore_1*/,
634     2/*lstore_2*/, 2/*lstore_3*/, 1/*fstore_0*/, 1/*fstore_1*/, 1/*fstore_2*/,
635     1/*fstore_3*/, 2/*dstore_0*/, 2/*dstore_1*/, 2/*dstore_2*/, 2/*dstore_3*/,
636     1/*astore_0*/, 1/*astore_1*/, 1/*astore_2*/, 1/*astore_3*/, 3/*iastore*/, 4/*lastore*/,
637     3/*fastore*/, 4/*dastore*/, 3/*aastore*/, 3/*bastore*/, 3/*castore*/, 3/*sastore*/,
638     1/*pop*/, 2/*pop2*/, 1/*dup*/, 2/*dup_x1*/, 3/*dup_x2*/, 2/*dup2*/, 3/*dup2_x1*/,
639     4/*dup2_x2*/, 2/*swap*/, 2/*iadd*/, 4/*ladd*/, 2/*fadd*/, 4/*dadd*/, 2/*isub*/, 4/*lsub*/,
640     2/*fsub*/, 4/*dsub*/, 2/*imul*/, 4/*lmul*/, 2/*fmul*/, 4/*dmul*/, 2/*idiv*/, 4/*ldiv*/,
641     2/*fdiv*/, 4/*ddiv*/, 2/*irem*/, 4/*lrem*/, 2/*frem*/, 4/*drem*/, 1/*ineg*/, 2/*lneg*/,
642     1/*fneg*/, 2/*dneg*/, 2/*ishl*/, 3/*lshl*/, 2/*ishr*/, 3/*lshr*/, 2/*iushr*/, 3/*lushr*/,
643     2/*iand*/, 4/*land*/, 2/*ior*/, 4/*lor*/, 2/*ixor*/, 4/*lxor*/, 0/*iinc*/,
644     1/*i2l*/, 1/*i2f*/, 1/*i2d*/, 2/*l2i*/, 2/*l2f*/, 2/*l2d*/, 1/*f2i*/, 1/*f2l*/,
645     1/*f2d*/, 2/*d2i*/, 2/*d2l*/, 2/*d2f*/, 1/*i2b*/, 1/*i2c*/, 1/*i2s*/,
646     4/*lcmp*/, 2/*fcmpl*/, 2/*fcmpg*/, 4/*dcmpl*/, 4/*dcmpg*/, 1/*ifeq*/, 1/*ifne*/,
647     1/*iflt*/, 1/*ifge*/, 1/*ifgt*/, 1/*ifle*/, 2/*if_icmpeq*/, 2/*if_icmpne*/, 2/*if_icmplt*/,
648     2 /*if_icmpge*/, 2/*if_icmpgt*/, 2/*if_icmple*/, 2/*if_acmpeq*/, 2/*if_acmpne*/,
649     0/*goto*/, 0/*jsr*/, 0/*ret*/, 1/*tableswitch*/, 1/*lookupswitch*/, 1/*ireturn*/,
650     2/*lreturn*/, 1/*freturn*/, 2/*dreturn*/, 1/*areturn*/, 0/*return*/, 0/*getstatic*/,
651     UNPREDICTABLE/*putstatic*/, 1/*getfield*/, UNPREDICTABLE/*putfield*/,
652     UNPREDICTABLE/*invokevirtual*/, UNPREDICTABLE/*invokespecial*/,
653     UNPREDICTABLE/*invokestatic*/,
654     UNPREDICTABLE/*invokeinterface*/, UNDEFINED, 0/*new*/, 1/*newarray*/, 1/*anewarray*/,
655     1/*arraylength*/, 1/*athrow*/, 1/*checkcast*/, 1/*instanceof*/, 1/*monitorenter*/,
656     1/*monitorexit*/, 0/*wide*/, UNPREDICTABLE/*multianewarray*/, 1/*ifnull*/, 1/*ifnonnull*/,
657     0/*goto_w*/, 0/*jsr_w*/, 0/*breakpoint*/, UNDEFINED, UNDEFINED,
658     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
659     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
660     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
661     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
662     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
663     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
664     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
665     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
666     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
667     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
668     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
669     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
670     UNDEFINED, UNPREDICTABLE/*impdep1*/, UNPREDICTABLE/*impdep2*/
671   };
672
673   /**
674    * Number of words produced onto operand stack by instructions.
675    */

676   public static final int[] PRODUCE_STACK = {
677     0/*nop*/, 1/*aconst_null*/, 1/*iconst_m1*/, 1/*iconst_0*/, 1/*iconst_1*/,
678     1/*iconst_2*/, 1/*iconst_3*/, 1/*iconst_4*/, 1/*iconst_5*/, 2/*lconst_0*/,
679     2/*lconst_1*/, 1/*fconst_0*/, 1/*fconst_1*/, 1/*fconst_2*/, 2/*dconst_0*/,
680     2/*dconst_1*/, 1/*bipush*/, 1/*sipush*/, 1/*ldc*/, 1/*ldc_w*/, 2/*ldc2_w*/, 1/*iload*/,
681     2/*lload*/, 1/*fload*/, 2/*dload*/, 1/*aload*/, 1/*iload_0*/, 1/*iload_1*/, 1/*iload_2*/,
682     1/*iload_3*/, 2/*lload_0*/, 2/*lload_1*/, 2/*lload_2*/, 2/*lload_3*/, 1/*fload_0*/,
683     1/*fload_1*/, 1/*fload_2*/, 1/*fload_3*/, 2/*dload_0*/, 2/*dload_1*/, 2/*dload_2*/,
684     2/*dload_3*/, 1/*aload_0*/, 1/*aload_1*/, 1/*aload_2*/, 1/*aload_3*/, 1/*iaload*/,
685     2/*laload*/, 1/*faload*/, 2/*daload*/, 1/*aaload*/, 1/*baload*/, 1/*caload*/, 1/*saload*/,
686     0/*istore*/, 0/*lstore*/, 0/*fstore*/, 0/*dstore*/, 0/*astore*/, 0/*istore_0*/,
687     0/*istore_1*/, 0/*istore_2*/, 0/*istore_3*/, 0/*lstore_0*/, 0/*lstore_1*/,
688     0/*lstore_2*/, 0/*lstore_3*/, 0/*fstore_0*/, 0/*fstore_1*/, 0/*fstore_2*/,
689     0/*fstore_3*/, 0/*dstore_0*/, 0/*dstore_1*/, 0/*dstore_2*/, 0/*dstore_3*/,
690     0/*astore_0*/, 0/*astore_1*/, 0/*astore_2*/, 0/*astore_3*/, 0/*iastore*/, 0/*lastore*/,
691     0/*fastore*/, 0/*dastore*/, 0/*aastore*/, 0/*bastore*/, 0/*castore*/, 0/*sastore*/,
692     0/*pop*/, 0/*pop2*/, 2/*dup*/, 3/*dup_x1*/, 4/*dup_x2*/, 4/*dup2*/, 5/*dup2_x1*/,
693     6/*dup2_x2*/, 2/*swap*/, 1/*iadd*/, 2/*ladd*/, 1/*fadd*/, 2/*dadd*/, 1/*isub*/, 2/*lsub*/,
694     1/*fsub*/, 2/*dsub*/, 1/*imul*/, 2/*lmul*/, 1/*fmul*/, 2/*dmul*/, 1/*idiv*/, 2/*ldiv*/,
695     1/*fdiv*/, 2/*ddiv*/, 1/*irem*/, 2/*lrem*/, 1/*frem*/, 2/*drem*/, 1/*ineg*/, 2/*lneg*/,
696     1/*fneg*/, 2/*dneg*/, 1/*ishl*/, 2/*lshl*/, 1/*ishr*/, 2/*lshr*/, 1/*iushr*/, 2/*lushr*/,
697     1/*iand*/, 2/*land*/, 1/*ior*/, 2/*lor*/, 1/*ixor*/, 2/*lxor*/,
698     0/*iinc*/, 2/*i2l*/, 1/*i2f*/, 2/*i2d*/, 1/*l2i*/, 1/*l2f*/, 2/*l2d*/, 1/*f2i*/,
699     2/*f2l*/, 2/*f2d*/, 1/*d2i*/, 2/*d2l*/, 1/*d2f*/,
700     1/*i2b*/, 1/*i2c*/, 1/*i2s*/, 1/*lcmp*/, 1/*fcmpl*/, 1/*fcmpg*/,
701     1/*dcmpl*/, 1/*dcmpg*/, 0/*ifeq*/, 0/*ifne*/, 0/*iflt*/, 0/*ifge*/, 0/*ifgt*/, 0/*ifle*/,
702     0/*if_icmpeq*/, 0/*if_icmpne*/, 0/*if_icmplt*/, 0/*if_icmpge*/, 0/*if_icmpgt*/,
703     0/*if_icmple*/, 0/*if_acmpeq*/, 0/*if_acmpne*/, 0/*goto*/, 1/*jsr*/, 0/*ret*/,
704     0/*tableswitch*/, 0/*lookupswitch*/, 0/*ireturn*/, 0/*lreturn*/, 0/*freturn*/,
705     0/*dreturn*/, 0/*areturn*/, 0/*return*/, UNPREDICTABLE/*getstatic*/, 0/*putstatic*/,
706     UNPREDICTABLE/*getfield*/, 0/*putfield*/, UNPREDICTABLE/*invokevirtual*/,
707     UNPREDICTABLE/*invokespecial*/, UNPREDICTABLE/*invokestatic*/,
708     UNPREDICTABLE/*invokeinterface*/, UNDEFINED, 1/*new*/, 1/*newarray*/, 1/*anewarray*/,
709     1/*arraylength*/, 1/*athrow*/, 1/*checkcast*/, 1/*instanceof*/, 0/*monitorenter*/,
710     0/*monitorexit*/, 0/*wide*/, 1/*multianewarray*/, 0/*ifnull*/, 0/*ifnonnull*/,
711     0/*goto_w*/, 1/*jsr_w*/, 0/*breakpoint*/, UNDEFINED, UNDEFINED,
712     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
713     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
714     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
715     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
716     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
717     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
718     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
719     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
720     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
721     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
722     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
723     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
724     UNDEFINED, UNPREDICTABLE/*impdep1*/, UNPREDICTABLE/*impdep2*/
725   };
726
727   /** Attributes and their corresponding names.
728    */

729   public static final byte ATTR_UNKNOWN = -1;
730   public static final byte ATTR_SOURCE_FILE = 0;
731   public static final byte ATTR_CONSTANT_VALUE = 1;
732   public static final byte ATTR_CODE = 2;
733   public static final byte ATTR_EXCEPTIONS = 3;
734   public static final byte ATTR_LINE_NUMBER_TABLE = 4;
735   public static final byte ATTR_LOCAL_VARIABLE_TABLE = 5;
736   public static final byte ATTR_INNER_CLASSES = 6;
737   public static final byte ATTR_SYNTHETIC = 7;
738   public static final byte ATTR_DEPRECATED = 8;
739   public static final byte ATTR_PMG = 9;
740   public static final byte ATTR_SIGNATURE = 10;
741   public static final byte ATTR_STACK_MAP = 11;
742
743   public static final short KNOWN_ATTRIBUTES = 12;
744
745   public static final String JavaDoc[] ATTRIBUTE_NAMES = {
746     "SourceFile", "ConstantValue", "Code", "Exceptions",
747     "LineNumberTable", "LocalVariableTable",
748     "InnerClasses", "Synthetic", "Deprecated",
749     "PMGClass", "Signature", "StackMap"
750   };
751
752   /** Constants used in the StackMap attribute.
753    */

754   public static final byte ITEM_Bogus = 0;
755   public static final byte ITEM_Integer = 1;
756   public static final byte ITEM_Float = 2;
757   public static final byte ITEM_Double = 3;
758   public static final byte ITEM_Long = 4;
759   public static final byte ITEM_Null = 5;
760   public static final byte ITEM_InitObject = 6;
761   public static final byte ITEM_Object = 7;
762   public static final byte ITEM_NewObject = 8;
763
764   public static final String JavaDoc[] ITEM_NAMES = {
765     "Bogus", "Integer", "Float", "Double", "Long",
766     "Null", "InitObject", "Object", "NewObject"
767   };
768 }
769
Popular Tags