Main Page   Packages   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

Constants.java

00001 package de.fub.bytecode;
00002 
00003 /**
00004  * Constants for the project, mostly defined in the JVM specification.
00005  *
00006  * @version $Id: Constants.java,v 1.1.1.1 2002/01/24 03:41:37 pserver Exp $
00007  * @author  <A HREF="http://www.inf.fu-berlin.de/~dahm">M. Dahm</A>
00008  */
00009 public interface Constants {
00010   /** Major and minor version of the code.
00011    */
00012   public final static short MAJOR_1_1 = 45;
00013   public final static short MINOR_1_1 = 3;
00014   public final static short MAJOR_1_2 = 46;
00015   public final static short MINOR_1_2 = 0;
00016   public final static short MAJOR_1_3 = 47;
00017   public final static short MINOR_1_3 = 0;
00018   public final static short MAJOR     = MAJOR_1_1; // Defaults
00019   public final static short MINOR     = MINOR_1_1;
00020 
00021   /** Maximum value for an unsigned short.
00022    */
00023   public final static int MAX_SHORT = 65535; // 2^16 - 1
00024 
00025   /** Maximum value for an unsigned byte.
00026    */
00027   public final static int MAX_BYTE  = 255; // 2^8 - 1
00028 
00029   /** Access flags for classes, fields and methods.
00030    */
00031   public final static short ACC_PUBLIC       = 0x0001;
00032   public final static short ACC_PRIVATE      = 0x0002;
00033   public final static short ACC_PROTECTED    = 0x0004;
00034   public final static short ACC_STATIC       = 0x0008;
00035 
00036   public final static short ACC_FINAL        = 0x0010;
00037   public final static short ACC_SYNCHRONIZED = 0x0020;
00038   public final static short ACC_VOLATILE     = 0x0040;
00039   public final static short ACC_TRANSIENT    = 0x0080;
00040 
00041   public final static short ACC_NATIVE       = 0x0100;
00042   public final static short ACC_INTERFACE    = 0x0200;
00043   public final static short ACC_ABSTRACT     = 0x0400;
00044 
00045   // Applies to classes compiled by new compilers only
00046   public final static short ACC_SUPER        = 0x0020;
00047 
00048   public final static short MAX_ACC_FLAG     = ACC_ABSTRACT;
00049 
00050   public final static String[] ACCESS_NAMES = {
00051     "public", "private", "protected", "static", "final", "synchronized",
00052     "volatile", "transient", "native", "interface", "abstract"
00053   };
00054 
00055   /** Tags in constant pool to denote type of constant.
00056    */
00057   public final static byte CONSTANT_Utf8               = 1;
00058   public final static byte CONSTANT_Integer            = 3;
00059   public final static byte CONSTANT_Float              = 4;
00060   public final static byte CONSTANT_Long               = 5;
00061   public final static byte CONSTANT_Double             = 6;
00062   public final static byte CONSTANT_Class              = 7;
00063   public final static byte CONSTANT_Fieldref           = 9;
00064   public final static byte CONSTANT_String             = 8;
00065   public final static byte CONSTANT_Methodref          = 10;
00066   public final static byte CONSTANT_InterfaceMethodref = 11;
00067   public final static byte CONSTANT_NameAndType        = 12;
00068 
00069   public final static String[] CONSTANT_NAMES = {
00070     "", "CONSTANT_Utf8", "", "CONSTANT_Integer",
00071     "CONSTANT_Float", "CONSTANT_Long", "CONSTANT_Double",
00072     "CONSTANT_Class", "CONSTANT_String", "CONSTANT_Fieldref",
00073     "CONSTANT_Methodref", "CONSTANT_InterfaceMethodref",
00074     "CONSTANT_NameAndType" };
00075 
00076   /** Java VM opcodes.
00077    */
00078   public static final short NOP              = 0;
00079   public static final short ACONST_NULL      = 1;
00080   public static final short ICONST_M1        = 2;
00081   public static final short ICONST_0         = 3;
00082   public static final short ICONST_1         = 4;
00083   public static final short ICONST_2         = 5;
00084   public static final short ICONST_3         = 6;
00085   public static final short ICONST_4         = 7;
00086   public static final short ICONST_5         = 8;
00087   public static final short LCONST_0         = 9;
00088   public static final short LCONST_1         = 10;
00089   public static final short FCONST_0         = 11;
00090   public static final short FCONST_1         = 12;
00091   public static final short FCONST_2         = 13;
00092   public static final short DCONST_0         = 14;
00093   public static final short DCONST_1         = 15;
00094   public static final short BIPUSH           = 16;
00095   public static final short SIPUSH           = 17;
00096   public static final short LDC              = 18;
00097   public static final short LDC_W            = 19;
00098   public static final short LDC2_W           = 20;
00099   public static final short ILOAD            = 21;
00100   public static final short LLOAD            = 22;
00101   public static final short FLOAD            = 23;
00102   public static final short DLOAD            = 24;
00103   public static final short ALOAD            = 25;
00104   public static final short ILOAD_0          = 26;
00105   public static final short ILOAD_1          = 27;
00106   public static final short ILOAD_2          = 28;
00107   public static final short ILOAD_3          = 29;
00108   public static final short LLOAD_0          = 30;
00109   public static final short LLOAD_1          = 31;
00110   public static final short LLOAD_2          = 32;
00111   public static final short LLOAD_3          = 33;
00112   public static final short FLOAD_0          = 34;
00113   public static final short FLOAD_1          = 35;
00114   public static final short FLOAD_2          = 36;
00115   public static final short FLOAD_3          = 37;
00116   public static final short DLOAD_0          = 38;
00117   public static final short DLOAD_1          = 39;
00118   public static final short DLOAD_2          = 40;
00119   public static final short DLOAD_3          = 41;
00120   public static final short ALOAD_0          = 42;
00121   public static final short ALOAD_1          = 43;
00122   public static final short ALOAD_2          = 44;
00123   public static final short ALOAD_3          = 45;
00124   public static final short IALOAD           = 46;
00125   public static final short LALOAD           = 47;
00126   public static final short FALOAD           = 48;
00127   public static final short DALOAD           = 49;
00128   public static final short AALOAD           = 50;
00129   public static final short BALOAD           = 51;
00130   public static final short CALOAD           = 52;
00131   public static final short SALOAD           = 53;
00132   public static final short ISTORE           = 54;
00133   public static final short LSTORE           = 55;
00134   public static final short FSTORE           = 56;
00135   public static final short DSTORE           = 57;
00136   public static final short ASTORE           = 58;
00137   public static final short ISTORE_0         = 59;
00138   public static final short ISTORE_1         = 60;
00139   public static final short ISTORE_2         = 61;
00140   public static final short ISTORE_3         = 62;
00141   public static final short LSTORE_0         = 63;
00142   public static final short LSTORE_1         = 64;
00143   public static final short LSTORE_2         = 65;
00144   public static final short LSTORE_3         = 66;
00145   public static final short FSTORE_0         = 67;
00146   public static final short FSTORE_1         = 68;
00147   public static final short FSTORE_2         = 69;
00148   public static final short FSTORE_3         = 70;
00149   public static final short DSTORE_0         = 71;
00150   public static final short DSTORE_1         = 72;
00151   public static final short DSTORE_2         = 73;
00152   public static final short DSTORE_3         = 74;
00153   public static final short ASTORE_0         = 75;
00154   public static final short ASTORE_1         = 76;
00155   public static final short ASTORE_2         = 77;
00156   public static final short ASTORE_3         = 78;
00157   public static final short IASTORE          = 79;
00158   public static final short LASTORE          = 80;
00159   public static final short FASTORE          = 81;
00160   public static final short DASTORE          = 82;
00161   public static final short AASTORE          = 83;
00162   public static final short BASTORE          = 84;
00163   public static final short CASTORE          = 85;
00164   public static final short SASTORE          = 86;
00165   public static final short POP              = 87;
00166   public static final short POP2             = 88;
00167   public static final short DUP              = 89;
00168   public static final short DUP_X1           = 90;
00169   public static final short DUP_X2           = 91;
00170   public static final short DUP2             = 92;
00171   public static final short DUP2_X1          = 93;
00172   public static final short DUP2_X2          = 94;
00173   public static final short SWAP             = 95;
00174   public static final short IADD             = 96;
00175   public static final short LADD             = 97;
00176   public static final short FADD             = 98;
00177   public static final short DADD             = 99;
00178   public static final short ISUB             = 100;
00179   public static final short LSUB             = 101;
00180   public static final short FSUB             = 102;
00181   public static final short DSUB             = 103;
00182   public static final short IMUL             = 104;
00183   public static final short LMUL             = 105;
00184   public static final short FMUL             = 106;
00185   public static final short DMUL             = 107;
00186   public static final short IDIV             = 108;
00187   public static final short LDIV             = 109;
00188   public static final short FDIV             = 110;
00189   public static final short DDIV             = 111;
00190   public static final short IREM             = 112;
00191   public static final short LREM             = 113;
00192   public static final short FREM             = 114;
00193   public static final short DREM             = 115;
00194   public static final short INEG             = 116;
00195   public static final short LNEG             = 117;
00196   public static final short FNEG             = 118;
00197   public static final short DNEG             = 119;
00198   public static final short ISHL             = 120;
00199   public static final short LSHL             = 121;
00200   public static final short ISHR             = 122;
00201   public static final short LSHR             = 123;
00202   public static final short IUSHR            = 124;
00203   public static final short LUSHR            = 125;
00204   public static final short IAND             = 126;
00205   public static final short LAND             = 127;
00206   public static final short IOR              = 128;
00207   public static final short LOR              = 129;
00208   public static final short IXOR             = 130;
00209   public static final short LXOR             = 131;
00210   public static final short IINC             = 132;
00211   public static final short I2L              = 133;
00212   public static final short I2F              = 134;
00213   public static final short I2D              = 135;
00214   public static final short L2I              = 136;
00215   public static final short L2F              = 137;
00216   public static final short L2D              = 138;
00217   public static final short F2I              = 139;
00218   public static final short F2L              = 140;
00219   public static final short F2D              = 141;
00220   public static final short D2I              = 142;
00221   public static final short D2L              = 143;
00222   public static final short D2F              = 144;
00223   public static final short I2B              = 145;
00224   public static final short INT2BYTE         = 145; // Old notion
00225   public static final short I2C              = 146;
00226   public static final short INT2CHAR         = 146; // Old notion
00227   public static final short I2S              = 147;
00228   public static final short INT2SHORT        = 147; // Old notion
00229   public static final short LCMP             = 148;
00230   public static final short FCMPL            = 149;
00231   public static final short FCMPG            = 150;
00232   public static final short DCMPL            = 151;
00233   public static final short DCMPG            = 152;
00234   public static final short IFEQ             = 153;
00235   public static final short IFNE             = 154;
00236   public static final short IFLT             = 155;
00237   public static final short IFGE             = 156;
00238   public static final short IFGT             = 157;
00239   public static final short IFLE             = 158;
00240   public static final short IF_ICMPEQ        = 159;
00241   public static final short IF_ICMPNE        = 160;
00242   public static final short IF_ICMPLT        = 161;
00243   public static final short IF_ICMPGE        = 162;
00244   public static final short IF_ICMPGT        = 163;
00245   public static final short IF_ICMPLE        = 164;
00246   public static final short IF_ACMPEQ        = 165;
00247   public static final short IF_ACMPNE        = 166;
00248   public static final short GOTO             = 167;
00249   public static final short JSR              = 168;
00250   public static final short RET              = 169;
00251   public static final short TABLESWITCH      = 170;
00252   public static final short LOOKUPSWITCH     = 171;
00253   public static final short IRETURN          = 172;
00254   public static final short LRETURN          = 173;
00255   public static final short FRETURN          = 174;
00256   public static final short DRETURN          = 175;
00257   public static final short ARETURN          = 176;
00258   public static final short RETURN           = 177;
00259   public static final short GETSTATIC        = 178;
00260   public static final short PUTSTATIC        = 179;
00261   public static final short GETFIELD         = 180;
00262   public static final short PUTFIELD         = 181;
00263   public static final short INVOKEVIRTUAL    = 182;
00264   public static final short INVOKESPECIAL    = 183;
00265   public static final short INVOKENONVIRTUAL = 183; // Old name in JDK 1.0
00266   public static final short INVOKESTATIC     = 184;
00267   public static final short INVOKEINTERFACE  = 185;
00268   public static final short NEW              = 187;
00269   public static final short NEWARRAY         = 188;
00270   public static final short ANEWARRAY        = 189;
00271   public static final short ARRAYLENGTH      = 190;
00272   public static final short ATHROW           = 191;
00273   public static final short CHECKCAST        = 192;
00274   public static final short INSTANCEOF       = 193;
00275   public static final short MONITORENTER     = 194;
00276   public static final short MONITOREXIT      = 195;
00277   public static final short WIDE             = 196;
00278   public static final short MULTIANEWARRAY   = 197;
00279   public static final short IFNULL           = 198;
00280   public static final short IFNONNULL        = 199;
00281   public static final short GOTO_W           = 200;
00282   public static final short JSR_W            = 201;
00283   public static final short BREAKPOINT       = 202;
00284   public static final short IMPDEP1          = 254;
00285   public static final short IMPDEP2          = 255;
00286 
00287   /**
00288    * Non-legal opcodes, may be used by JVM internally.
00289    */
00290   public static final short LDC_QUICK                 = 203;
00291   public static final short LDC_W_QUICK               = 204;
00292   public static final short LDC2_W_QUICK              = 205;
00293   public static final short GETFIELD_QUICK            = 206;
00294   public static final short PUTFIELD_QUICK            = 207;
00295   public static final short GETFIELD2_QUICK           = 208;
00296   public static final short PUTFIELD2_QUICK           = 209;
00297   public static final short GETSTATIC_QUICK           = 210;
00298   public static final short PUTSTATIC_QUICK           = 211;
00299   public static final short GETSTATIC2_QUICK          = 212;
00300   public static final short PUTSTATIC2_QUICK          = 213;
00301   public static final short INVOKEVIRTUAL_QUICK       = 214;
00302   public static final short INVOKENONVIRTUAL_QUICK    = 215;
00303   public static final short INVOKESUPER_QUICK         = 216;
00304   public static final short INVOKESTATIC_QUICK        = 217;
00305   public static final short INVOKEINTERFACE_QUICK     = 218;
00306   public static final short INVOKEVIRTUALOBJECT_QUICK = 219;
00307   public static final short NEW_QUICK                 = 221;
00308   public static final short ANEWARRAY_QUICK           = 222;
00309   public static final short MULTIANEWARRAY_QUICK      = 223;
00310   public static final short CHECKCAST_QUICK           = 224;
00311   public static final short INSTANCEOF_QUICK          = 225;
00312   public static final short INVOKEVIRTUAL_QUICK_W     = 226;
00313   public static final short GETFIELD_QUICK_W          = 227;
00314   public static final short PUTFIELD_QUICK_W          = 228;
00315 
00316   /**
00317    * For internal purposes only.
00318    */
00319   public static final short PUSH             = 4711;
00320   public static final short SWITCH           = 4712;
00321 
00322   /**
00323    * Illegal codes
00324    */
00325   public static final short  UNDEFINED      = -1;
00326   public static final short  UNPREDICTABLE  = -2;
00327   public static final short  RESERVED       = -3;
00328   public static final String ILLEGAL_OPCODE = "<illegal opcode>";
00329   public static final String ILLEGAL_TYPE   = "<illegal type>";
00330 
00331   public static final byte T_BOOLEAN = 4;
00332   public static final byte T_CHAR    = 5;
00333   public static final byte T_FLOAT   = 6;
00334   public static final byte T_DOUBLE  = 7;
00335   public static final byte T_BYTE    = 8;
00336   public static final byte T_SHORT   = 9;
00337   public static final byte T_INT     = 10;
00338   public static final byte T_LONG    = 11;
00339 
00340   public static final byte T_VOID      = 12; // Non-standard
00341   public static final byte T_ARRAY     = 13;
00342   public static final byte T_OBJECT    = 14;
00343   public static final byte T_REFERENCE = 14; // Deprecated
00344   public static final byte T_UNKNOWN   = 15;
00345   public static final byte T_ADDRESS   = 16;
00346 
00347   public static final String[] TYPE_NAMES = {
00348     ILLEGAL_TYPE, ILLEGAL_TYPE,  ILLEGAL_TYPE, ILLEGAL_TYPE,
00349     "boolean", "char", "float", "double", "byte", "short", "int", "long",
00350     "void", "array", "object", "unknown" // Non-standard
00351   };
00352 
00353   public static final String[] SHORT_TYPE_NAMES = {
00354     ILLEGAL_TYPE, ILLEGAL_TYPE,  ILLEGAL_TYPE, ILLEGAL_TYPE,
00355     "Z", "C", "F", "D", "B", "S", "I", "J",
00356     "V", ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE
00357   };
00358 
00359   /**
00360    * Number of byte code operands, i.e., number of bytes after the tag byte
00361    * itself.
00362    */
00363   public static final short[] NO_OF_OPERANDS = {
00364     0/*nop*/, 0/*aconst_null*/, 0/*iconst_m1*/, 0/*iconst_0*/,
00365     0/*iconst_1*/, 0/*iconst_2*/, 0/*iconst_3*/, 0/*iconst_4*/,
00366     0/*iconst_5*/, 0/*lconst_0*/, 0/*lconst_1*/, 0/*fconst_0*/,
00367     0/*fconst_1*/, 0/*fconst_2*/, 0/*dconst_0*/, 0/*dconst_1*/,
00368     1/*bipush*/, 2/*sipush*/, 1/*ldc*/, 2/*ldc_w*/, 2/*ldc2_w*/,
00369     1/*iload*/, 1/*lload*/, 1/*fload*/, 1/*dload*/, 1/*aload*/,
00370     0/*iload_0*/, 0/*iload_1*/, 0/*iload_2*/, 0/*iload_3*/,
00371     0/*lload_0*/, 0/*lload_1*/, 0/*lload_2*/, 0/*lload_3*/,
00372     0/*fload_0*/, 0/*fload_1*/, 0/*fload_2*/, 0/*fload_3*/,
00373     0/*dload_0*/, 0/*dload_1*/, 0/*dload_2*/, 0/*dload_3*/,
00374     0/*aload_0*/, 0/*aload_1*/, 0/*aload_2*/, 0/*aload_3*/,
00375     0/*iaload*/, 0/*laload*/, 0/*faload*/, 0/*daload*/,
00376     0/*aaload*/, 0/*baload*/, 0/*caload*/, 0/*saload*/,
00377     1/*istore*/, 1/*lstore*/, 1/*fstore*/, 1/*dstore*/,
00378     1/*astore*/, 0/*istore_0*/, 0/*istore_1*/, 0/*istore_2*/,
00379     0/*istore_3*/, 0/*lstore_0*/, 0/*lstore_1*/, 0/*lstore_2*/,
00380     0/*lstore_3*/, 0/*fstore_0*/, 0/*fstore_1*/, 0/*fstore_2*/,
00381     0/*fstore_3*/, 0/*dstore_0*/, 0/*dstore_1*/, 0/*dstore_2*/,
00382     0/*dstore_3*/, 0/*astore_0*/, 0/*astore_1*/, 0/*astore_2*/,
00383     0/*astore_3*/, 0/*iastore*/, 0/*lastore*/, 0/*fastore*/,
00384     0/*dastore*/, 0/*aastore*/, 0/*bastore*/, 0/*castore*/,
00385     0/*sastore*/, 0/*pop*/, 0/*pop2*/, 0/*dup*/, 0/*dup_x1*/,
00386     0/*dup_x2*/, 0/*dup2*/, 0/*dup2_x1*/, 0/*dup2_x2*/, 0/*swap*/,
00387     0/*iadd*/, 0/*ladd*/, 0/*fadd*/, 0/*dadd*/, 0/*isub*/,
00388     0/*lsub*/, 0/*fsub*/, 0/*dsub*/, 0/*imul*/, 0/*lmul*/,
00389     0/*fmul*/, 0/*dmul*/, 0/*idiv*/, 0/*ldiv*/, 0/*fdiv*/,
00390     0/*ddiv*/, 0/*irem*/, 0/*lrem*/, 0/*frem*/, 0/*drem*/,
00391     0/*ineg*/, 0/*lneg*/, 0/*fneg*/, 0/*dneg*/, 0/*ishl*/,
00392     0/*lshl*/, 0/*ishr*/, 0/*lshr*/, 0/*iushr*/, 0/*lushr*/,
00393     0/*iand*/, 0/*land*/, 0/*ior*/, 0/*lor*/, 0/*ixor*/, 0/*lxor*/,
00394     2/*iinc*/, 0/*i2l*/, 0/*i2f*/, 0/*i2d*/, 0/*l2i*/, 0/*l2f*/,
00395     0/*l2d*/, 0/*f2i*/, 0/*f2l*/, 0/*f2d*/, 0/*d2i*/, 0/*d2l*/,
00396     0/*d2f*/, 0/*i2b*/, 0/*i2c*/, 0/*i2s*/, 0/*lcmp*/, 0/*fcmpl*/,
00397     0/*fcmpg*/, 0/*dcmpl*/, 0/*dcmpg*/, 2/*ifeq*/, 2/*ifne*/,
00398     2/*iflt*/, 2/*ifge*/, 2/*ifgt*/, 2/*ifle*/, 2/*if_icmpeq*/,
00399     2/*if_icmpne*/, 2/*if_icmplt*/, 2/*if_icmpge*/, 2/*if_icmpgt*/,
00400     2/*if_icmple*/, 2/*if_acmpeq*/, 2/*if_acmpne*/, 2/*goto*/,
00401     2/*jsr*/, 1/*ret*/, UNPREDICTABLE/*tableswitch*/, UNPREDICTABLE/*lookupswitch*/,
00402     0/*ireturn*/, 0/*lreturn*/, 0/*freturn*/,
00403     0/*dreturn*/, 0/*areturn*/, 0/*return*/,
00404     2/*getstatic*/, 2/*putstatic*/, 2/*getfield*/,
00405     2/*putfield*/, 2/*invokevirtual*/, 2/*invokespecial*/, 2/*invokestatic*/,
00406     4/*invokeinterface*/, UNDEFINED, 2/*new*/,
00407     1/*newarray*/, 2/*anewarray*/,
00408     0/*arraylength*/, 0/*athrow*/, 2/*checkcast*/,
00409     2/*instanceof*/, 0/*monitorenter*/,
00410     0/*monitorexit*/, UNPREDICTABLE/*wide*/, 3/*multianewarray*/,
00411     2/*ifnull*/, 2/*ifnonnull*/, 4/*goto_w*/,
00412     4/*jsr_w*/, 0/*breakpoint*/, UNDEFINED,
00413     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00414     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00415     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00416     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00417     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00418     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00419     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00420     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00421     UNDEFINED, UNDEFINED, RESERVED/*impdep1*/, RESERVED/*impdep2*/
00422   };
00423 
00424   /**
00425    * How the byte code operands are to be interpreted.
00426    */
00427   public static final short[][] TYPE_OF_OPERANDS = {
00428     {}/*nop*/, {}/*aconst_null*/, {}/*iconst_m1*/, {}/*iconst_0*/,
00429     {}/*iconst_1*/, {}/*iconst_2*/, {}/*iconst_3*/, {}/*iconst_4*/,
00430     {}/*iconst_5*/, {}/*lconst_0*/, {}/*lconst_1*/, {}/*fconst_0*/,
00431     {}/*fconst_1*/, {}/*fconst_2*/, {}/*dconst_0*/, {}/*dconst_1*/,
00432     {T_BYTE}/*bipush*/, {T_SHORT}/*sipush*/, {T_BYTE}/*ldc*/,
00433     {T_SHORT}/*ldc_w*/, {T_SHORT}/*ldc2_w*/,
00434     {T_BYTE}/*iload*/, {T_BYTE}/*lload*/, {T_BYTE}/*fload*/,
00435     {T_BYTE}/*dload*/, {T_BYTE}/*aload*/, {}/*iload_0*/,
00436     {}/*iload_1*/, {}/*iload_2*/, {}/*iload_3*/, {}/*lload_0*/,
00437     {}/*lload_1*/, {}/*lload_2*/, {}/*lload_3*/, {}/*fload_0*/,
00438     {}/*fload_1*/, {}/*fload_2*/, {}/*fload_3*/, {}/*dload_0*/,
00439     {}/*dload_1*/, {}/*dload_2*/, {}/*dload_3*/, {}/*aload_0*/,
00440     {}/*aload_1*/, {}/*aload_2*/, {}/*aload_3*/, {}/*iaload*/,
00441     {}/*laload*/, {}/*faload*/, {}/*daload*/, {}/*aaload*/,
00442     {}/*baload*/, {}/*caload*/, {}/*saload*/, {T_BYTE}/*istore*/,
00443     {T_BYTE}/*lstore*/, {T_BYTE}/*fstore*/, {T_BYTE}/*dstore*/,
00444     {T_BYTE}/*astore*/, {}/*istore_0*/, {}/*istore_1*/,
00445     {}/*istore_2*/, {}/*istore_3*/, {}/*lstore_0*/, {}/*lstore_1*/,
00446     {}/*lstore_2*/, {}/*lstore_3*/, {}/*fstore_0*/, {}/*fstore_1*/,
00447     {}/*fstore_2*/, {}/*fstore_3*/, {}/*dstore_0*/, {}/*dstore_1*/,
00448     {}/*dstore_2*/, {}/*dstore_3*/, {}/*astore_0*/, {}/*astore_1*/,
00449     {}/*astore_2*/, {}/*astore_3*/, {}/*iastore*/, {}/*lastore*/,
00450     {}/*fastore*/, {}/*dastore*/, {}/*aastore*/, {}/*bastore*/,
00451     {}/*castore*/, {}/*sastore*/, {}/*pop*/, {}/*pop2*/, {}/*dup*/,
00452     {}/*dup_x1*/, {}/*dup_x2*/, {}/*dup2*/, {}/*dup2_x1*/,
00453     {}/*dup2_x2*/, {}/*swap*/, {}/*iadd*/, {}/*ladd*/, {}/*fadd*/,
00454     {}/*dadd*/, {}/*isub*/, {}/*lsub*/, {}/*fsub*/, {}/*dsub*/,
00455     {}/*imul*/, {}/*lmul*/, {}/*fmul*/, {}/*dmul*/, {}/*idiv*/,
00456     {}/*ldiv*/, {}/*fdiv*/, {}/*ddiv*/, {}/*irem*/, {}/*lrem*/,
00457     {}/*frem*/, {}/*drem*/, {}/*ineg*/, {}/*lneg*/, {}/*fneg*/,
00458     {}/*dneg*/, {}/*ishl*/, {}/*lshl*/, {}/*ishr*/, {}/*lshr*/,
00459     {}/*iushr*/, {}/*lushr*/, {}/*iand*/, {}/*land*/, {}/*ior*/,
00460     {}/*lor*/, {}/*ixor*/, {}/*lxor*/, {T_BYTE, T_BYTE}/*iinc*/,
00461     {}/*i2l*/, {}/*i2f*/, {}/*i2d*/, {}/*l2i*/, {}/*l2f*/, {}/*l2d*/,
00462     {}/*f2i*/, {}/*f2l*/, {}/*f2d*/, {}/*d2i*/, {}/*d2l*/, {}/*d2f*/,
00463     {}/*i2b*/, {}/*i2c*/,{}/*i2s*/, {}/*lcmp*/, {}/*fcmpl*/,
00464     {}/*fcmpg*/, {}/*dcmpl*/, {}/*dcmpg*/, {T_SHORT}/*ifeq*/,
00465     {T_SHORT}/*ifne*/, {T_SHORT}/*iflt*/, {T_SHORT}/*ifge*/,
00466     {T_SHORT}/*ifgt*/, {T_SHORT}/*ifle*/, {T_SHORT}/*if_icmpeq*/,
00467     {T_SHORT}/*if_icmpne*/, {T_SHORT}/*if_icmplt*/,
00468     {T_SHORT}/*if_icmpge*/, {T_SHORT}/*if_icmpgt*/,
00469     {T_SHORT}/*if_icmple*/, {T_SHORT}/*if_acmpeq*/,
00470     {T_SHORT}/*if_acmpne*/, {T_SHORT}/*goto*/, {T_SHORT}/*jsr*/,
00471     {T_BYTE}/*ret*/, {}/*tableswitch*/, {}/*lookupswitch*/,
00472     {}/*ireturn*/, {}/*lreturn*/, {}/*freturn*/, {}/*dreturn*/,
00473     {}/*areturn*/, {}/*return*/, {T_SHORT}/*getstatic*/,
00474     {T_SHORT}/*putstatic*/, {T_SHORT}/*getfield*/,
00475     {T_SHORT}/*putfield*/, {T_SHORT}/*invokevirtual*/,
00476     {T_SHORT}/*invokespecial*/, {T_SHORT}/*invokestatic*/,
00477     {T_SHORT, T_BYTE, T_BYTE}/*invokeinterface*/, {},
00478     {T_SHORT}/*new*/, {T_BYTE}/*newarray*/,
00479     {T_SHORT}/*anewarray*/, {}/*arraylength*/, {}/*athrow*/,
00480     {T_SHORT}/*checkcast*/, {T_SHORT}/*instanceof*/,
00481     {}/*monitorenter*/, {}/*monitorexit*/, {T_BYTE}/*wide*/,
00482     {T_SHORT, T_BYTE}/*multianewarray*/, {T_SHORT}/*ifnull*/,
00483     {T_SHORT}/*ifnonnull*/, {T_INT}/*goto_w*/, {T_INT}/*jsr_w*/,
00484     {}/*breakpoint*/, {}, {}, {}, {}, {}, {}, {},
00485     {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
00486     {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
00487     {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
00488     {}/*impdep1*/, {}/*impdep2*/
00489   };
00490 
00491   /**
00492    * Names of opcodes.
00493    */ 
00494   public static final String[] OPCODE_NAMES = {
00495     "nop", "aconst_null", "iconst_m1", "iconst_0", "iconst_1",
00496     "iconst_2", "iconst_3", "iconst_4", "iconst_5", "lconst_0",
00497     "lconst_1", "fconst_0", "fconst_1", "fconst_2", "dconst_0",
00498     "dconst_1", "bipush", "sipush", "ldc", "ldc_w", "ldc2_w", "iload",
00499     "lload", "fload", "dload", "aload", "iload_0", "iload_1", "iload_2",
00500     "iload_3", "lload_0", "lload_1", "lload_2", "lload_3", "fload_0",
00501     "fload_1", "fload_2", "fload_3", "dload_0", "dload_1", "dload_2",
00502     "dload_3", "aload_0", "aload_1", "aload_2", "aload_3", "iaload",
00503     "laload", "faload", "daload", "aaload", "baload", "caload", "saload",
00504     "istore", "lstore", "fstore", "dstore", "astore", "istore_0",
00505     "istore_1", "istore_2", "istore_3", "lstore_0", "lstore_1",
00506     "lstore_2", "lstore_3", "fstore_0", "fstore_1", "fstore_2",
00507     "fstore_3", "dstore_0", "dstore_1", "dstore_2", "dstore_3",
00508     "astore_0", "astore_1", "astore_2", "astore_3", "iastore", "lastore",
00509     "fastore", "dastore", "aastore", "bastore", "castore", "sastore",
00510     "pop", "pop2", "dup", "dup_x1", "dup_x2", "dup2", "dup2_x1",
00511     "dup2_x2", "swap", "iadd", "ladd", "fadd", "dadd", "isub", "lsub",
00512     "fsub", "dsub", "imul", "lmul", "fmul", "dmul", "idiv", "ldiv",
00513     "fdiv", "ddiv", "irem", "lrem", "frem", "drem", "ineg", "lneg",
00514     "fneg", "dneg", "ishl", "lshl", "ishr", "lshr", "iushr", "lushr",
00515     "iand", "land", "ior", "lor", "ixor", "lxor", "iinc", "i2l", "i2f",
00516     "i2d", "l2i", "l2f", "l2d", "f2i", "f2l", "f2d", "d2i", "d2l", "d2f",
00517     "i2b", "i2c", "i2s", "lcmp", "fcmpl", "fcmpg",
00518     "dcmpl", "dcmpg", "ifeq", "ifne", "iflt", "ifge", "ifgt", "ifle",
00519     "if_icmpeq", "if_icmpne", "if_icmplt", "if_icmpge", "if_icmpgt",
00520     "if_icmple", "if_acmpeq", "if_acmpne", "goto", "jsr", "ret",
00521     "tableswitch", "lookupswitch", "ireturn", "lreturn", "freturn",
00522     "dreturn", "areturn", "return", "getstatic", "putstatic", "getfield",
00523     "putfield", "invokevirtual", "invokespecial", "invokestatic",
00524     "invokeinterface", ILLEGAL_OPCODE, "new", "newarray", "anewarray",
00525     "arraylength", "athrow", "checkcast", "instanceof", "monitorenter",
00526     "monitorexit", "wide", "multianewarray", "ifnull", "ifnonnull",
00527     "goto_w", "jsr_w", "breakpoint", ILLEGAL_OPCODE, ILLEGAL_OPCODE,
00528     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
00529     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
00530     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
00531     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
00532     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
00533     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
00534     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
00535     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
00536     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
00537     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
00538     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
00539     ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
00540     ILLEGAL_OPCODE, "impdep1", "impdep2"
00541   };
00542 
00543   /**
00544    * Number of words consumed on operand stack by instructions.
00545    */ 
00546   public static final int[] CONSUME_STACK = {
00547     0/*nop*/, 0/*aconst_null*/, 0/*iconst_m1*/, 0/*iconst_0*/, 0/*iconst_1*/,
00548     0/*iconst_2*/, 0/*iconst_3*/, 0/*iconst_4*/, 0/*iconst_5*/, 0/*lconst_0*/,
00549     0/*lconst_1*/, 0/*fconst_0*/, 0/*fconst_1*/, 0/*fconst_2*/, 0/*dconst_0*/,
00550     0/*dconst_1*/, 0/*bipush*/, 0/*sipush*/, 0/*ldc*/, 0/*ldc_w*/, 0/*ldc2_w*/, 0/*iload*/,
00551     0/*lload*/, 0/*fload*/, 0/*dload*/, 0/*aload*/, 0/*iload_0*/, 0/*iload_1*/, 0/*iload_2*/,
00552     0/*iload_3*/, 0/*lload_0*/, 0/*lload_1*/, 0/*lload_2*/, 0/*lload_3*/, 0/*fload_0*/,
00553     0/*fload_1*/, 0/*fload_2*/, 0/*fload_3*/, 0/*dload_0*/, 0/*dload_1*/, 0/*dload_2*/,
00554     0/*dload_3*/, 0/*aload_0*/, 0/*aload_1*/, 0/*aload_2*/, 0/*aload_3*/, 2/*iaload*/,
00555     2/*laload*/, 2/*faload*/, 2/*daload*/, 2/*aaload*/, 2/*baload*/, 2/*caload*/, 2/*saload*/,
00556     1/*istore*/, 2/*lstore*/, 1/*fstore*/, 2/*dstore*/, 1/*astore*/, 1/*istore_0*/,
00557     1/*istore_1*/, 1/*istore_2*/, 1/*istore_3*/, 2/*lstore_0*/, 2/*lstore_1*/,
00558     2/*lstore_2*/, 2/*lstore_3*/, 1/*fstore_0*/, 1/*fstore_1*/, 1/*fstore_2*/,
00559     1/*fstore_3*/, 2/*dstore_0*/, 2/*dstore_1*/, 2/*dstore_2*/, 2/*dstore_3*/,
00560     1/*astore_0*/, 1/*astore_1*/, 1/*astore_2*/, 1/*astore_3*/, 3/*iastore*/, 4/*lastore*/,
00561     3/*fastore*/, 4/*dastore*/, 3/*aastore*/, 3/*bastore*/, 3/*castore*/, 3/*sastore*/,
00562     1/*pop*/, 2/*pop2*/, 1/*dup*/, 2/*dup_x1*/, 3/*dup_x2*/, 2/*dup2*/, 3/*dup2_x1*/,
00563     4/*dup2_x2*/, 2/*swap*/, 2/*iadd*/, 4/*ladd*/, 2/*fadd*/, 4/*dadd*/, 2/*isub*/, 4/*lsub*/,
00564     2/*fsub*/, 4/*dsub*/, 2/*imul*/, 4/*lmul*/, 2/*fmul*/, 4/*dmul*/, 2/*idiv*/, 4/*ldiv*/,
00565     2/*fdiv*/, 4/*ddiv*/, 2/*irem*/, 4/*lrem*/, 2/*frem*/, 4/*drem*/, 1/*ineg*/, 2/*lneg*/,
00566     1/*fneg*/, 2/*dneg*/, 2/*ishl*/, 3/*lshl*/, 2/*ishr*/, 3/*lshr*/, 2/*iushr*/, 3/*lushr*/,
00567     2/*iand*/, 4/*land*/, 2/*ior*/, 4/*lor*/, 2/*ixor*/, 4/*lxor*/, 0/*iinc*/,
00568     1/*i2l*/, 1/*i2f*/, 1/*i2d*/, 2/*l2i*/, 2/*l2f*/, 2/*l2d*/, 1/*f2i*/, 1/*f2l*/,
00569     1/*f2d*/, 2/*d2i*/, 2/*d2l*/, 2/*d2f*/, 1/*i2b*/, 1/*i2c*/, 1/*i2s*/, 
00570     4/*lcmp*/, 2/*fcmpl*/, 2/*fcmpg*/, 4/*dcmpl*/, 4/*dcmpg*/, 1/*ifeq*/, 1/*ifne*/,
00571     1/*iflt*/, 1/*ifge*/, 1/*ifgt*/, 1/*ifle*/, 2/*if_icmpeq*/, 2/*if_icmpne*/, 2/*if_icmplt*/,
00572     2 /*if_icmpge*/, 2/*if_icmpgt*/, 2/*if_icmple*/, 2/*if_acmpeq*/, 2/*if_acmpne*/,
00573     0/*goto*/, 0/*jsr*/, 0/*ret*/, 1/*tableswitch*/, 1/*lookupswitch*/, 1/*ireturn*/,
00574     2/*lreturn*/, 1/*freturn*/, 2/*dreturn*/, 1/*areturn*/, 0/*return*/, 0/*getstatic*/,
00575     UNPREDICTABLE/*putstatic*/, 1/*getfield*/, UNPREDICTABLE/*putfield*/,
00576     UNPREDICTABLE/*invokevirtual*/, UNPREDICTABLE/*invokespecial*/,
00577     UNPREDICTABLE/*invokestatic*/,
00578     UNPREDICTABLE/*invokeinterface*/, UNDEFINED, 0/*new*/, 1/*newarray*/, 1/*anewarray*/,
00579     1/*arraylength*/, 1/*athrow*/, 1/*checkcast*/, 1/*instanceof*/, 1/*monitorenter*/,
00580     1/*monitorexit*/, 0/*wide*/, UNPREDICTABLE/*multianewarray*/, 1/*ifnull*/, 1/*ifnonnull*/,
00581     0/*goto_w*/, 0/*jsr_w*/, 0/*breakpoint*/, UNDEFINED, UNDEFINED,
00582     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00583     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00584     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00585     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00586     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00587     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00588     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00589     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00590     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00591     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00592     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00593     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00594     UNDEFINED, UNPREDICTABLE/*impdep1*/, UNPREDICTABLE/*impdep2*/
00595   };
00596 
00597   /**
00598    * Number of words produced onto operand stack by instructions.
00599    */ 
00600   public static final int[] PRODUCE_STACK = {
00601     0/*nop*/, 1/*aconst_null*/, 1/*iconst_m1*/, 1/*iconst_0*/, 1/*iconst_1*/,
00602     1/*iconst_2*/, 1/*iconst_3*/, 1/*iconst_4*/, 1/*iconst_5*/, 2/*lconst_0*/,
00603     2/*lconst_1*/, 1/*fconst_0*/, 1/*fconst_1*/, 1/*fconst_2*/, 2/*dconst_0*/,
00604     2/*dconst_1*/, 1/*bipush*/, 1/*sipush*/, 1/*ldc*/, 1/*ldc_w*/, 2/*ldc2_w*/, 1/*iload*/,
00605     2/*lload*/, 1/*fload*/, 2/*dload*/, 1/*aload*/, 1/*iload_0*/, 1/*iload_1*/, 1/*iload_2*/,
00606     1/*iload_3*/, 2/*lload_0*/, 2/*lload_1*/, 2/*lload_2*/, 2/*lload_3*/, 1/*fload_0*/,
00607     1/*fload_1*/, 1/*fload_2*/, 1/*fload_3*/, 2/*dload_0*/, 2/*dload_1*/, 2/*dload_2*/,
00608     2/*dload_3*/, 1/*aload_0*/, 1/*aload_1*/, 1/*aload_2*/, 1/*aload_3*/, 1/*iaload*/,
00609     2/*laload*/, 1/*faload*/, 2/*daload*/, 1/*aaload*/, 1/*baload*/, 1/*caload*/, 1/*saload*/,
00610     0/*istore*/, 0/*lstore*/, 0/*fstore*/, 0/*dstore*/, 0/*astore*/, 0/*istore_0*/,
00611     0/*istore_1*/, 0/*istore_2*/, 0/*istore_3*/, 0/*lstore_0*/, 0/*lstore_1*/,
00612     0/*lstore_2*/, 0/*lstore_3*/, 0/*fstore_0*/, 0/*fstore_1*/, 0/*fstore_2*/,
00613     0/*fstore_3*/, 0/*dstore_0*/, 0/*dstore_1*/, 0/*dstore_2*/, 0/*dstore_3*/,
00614     0/*astore_0*/, 0/*astore_1*/, 0/*astore_2*/, 0/*astore_3*/, 0/*iastore*/, 0/*lastore*/,
00615     0/*fastore*/, 0/*dastore*/, 0/*aastore*/, 0/*bastore*/, 0/*castore*/, 0/*sastore*/,
00616     0/*pop*/, 0/*pop2*/, 2/*dup*/, 3/*dup_x1*/, 4/*dup_x2*/, 4/*dup2*/, 5/*dup2_x1*/,
00617     6/*dup2_x2*/, 2/*swap*/, 1/*iadd*/, 2/*ladd*/, 1/*fadd*/, 2/*dadd*/, 1/*isub*/, 2/*lsub*/,
00618     1/*fsub*/, 2/*dsub*/, 1/*imul*/, 2/*lmul*/, 1/*fmul*/, 2/*dmul*/, 1/*idiv*/, 2/*ldiv*/,
00619     1/*fdiv*/, 2/*ddiv*/, 1/*irem*/, 2/*lrem*/, 1/*frem*/, 2/*drem*/, 1/*ineg*/, 2/*lneg*/,
00620     1/*fneg*/, 2/*dneg*/, 1/*ishl*/, 2/*lshl*/, 1/*ishr*/, 2/*lshr*/, 1/*iushr*/, 2/*lushr*/,
00621     1/*iand*/, 2/*land*/, 1/*ior*/, 2/*lor*/, 1/*ixor*/, 2/*lxor*/,
00622     0/*iinc*/, 2/*i2l*/, 1/*i2f*/, 2/*i2d*/, 1/*l2i*/, 1/*l2f*/, 2/*l2d*/, 1/*f2i*/,
00623     2/*f2l*/, 2/*f2d*/, 1/*d2i*/, 2/*d2l*/, 1/*d2f*/,
00624     1/*i2b*/, 1/*i2c*/, 1/*i2s*/, 1/*lcmp*/, 1/*fcmpl*/, 1/*fcmpg*/,
00625     1/*dcmpl*/, 1/*dcmpg*/, 0/*ifeq*/, 0/*ifne*/, 0/*iflt*/, 0/*ifge*/, 0/*ifgt*/, 0/*ifle*/,
00626     0/*if_icmpeq*/, 0/*if_icmpne*/, 0/*if_icmplt*/, 0/*if_icmpge*/, 0/*if_icmpgt*/,
00627     0/*if_icmple*/, 0/*if_acmpeq*/, 0/*if_acmpne*/, 0/*goto*/, 1/*jsr*/, 0/*ret*/,
00628     0/*tableswitch*/, 0/*lookupswitch*/, 0/*ireturn*/, 0/*lreturn*/, 0/*freturn*/,
00629     0/*dreturn*/, 0/*areturn*/, 0/*return*/, UNPREDICTABLE/*getstatic*/, 0/*putstatic*/,
00630     UNPREDICTABLE/*getfield*/, 0/*putfield*/, UNPREDICTABLE/*invokevirtual*/,
00631     UNPREDICTABLE/*invokespecial*/, UNPREDICTABLE/*invokestatic*/,
00632     UNPREDICTABLE/*invokeinterface*/, UNDEFINED, 1/*new*/, 1/*newarray*/, 1/*anewarray*/,
00633     1/*arraylength*/, 1/*athrow*/, 1/*checkcast*/, 1/*instanceof*/, 0/*monitorenter*/,
00634     0/*monitorexit*/, 0/*wide*/, 1/*multianewarray*/, 0/*ifnull*/, 0/*ifnonnull*/,
00635     0/*goto_w*/, 1/*jsr_w*/, 0/*breakpoint*/, UNDEFINED, UNDEFINED,
00636     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00637     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00638     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00639     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00640     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00641     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00642     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00643     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00644     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00645     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00646     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00647     UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
00648     UNDEFINED, UNPREDICTABLE/*impdep1*/, UNPREDICTABLE/*impdep2*/
00649   };
00650 
00651   /** Attributes and their corresponding names.
00652    */
00653   public static final byte ATTR_UNKNOWN              = -1;
00654   public static final byte ATTR_SOURCE_FILE          = 0;
00655   public static final byte ATTR_CONSTANT_VALUE       = 1;
00656   public static final byte ATTR_CODE                 = 2;
00657   public static final byte ATTR_EXCEPTIONS           = 3;
00658   public static final byte ATTR_LINE_NUMBER_TABLE    = 4;
00659   public static final byte ATTR_LOCAL_VARIABLE_TABLE = 5;
00660   public static final byte ATTR_INNER_CLASSES        = 6;
00661   public static final byte ATTR_SYNTHETIC            = 7;
00662   public static final byte ATTR_DEPRECATED           = 8;
00663   public static final byte ATTR_PMG                  = 9;
00664   public static final byte ATTR_SIGNATURE            = 10;
00665 
00666   public static final short KNOWN_ATTRIBUTES = 11;
00667 
00668   public static final String[] ATTRIBUTE_NAMES = {
00669     "SourceFile", "ConstantValue", "Code", "Exceptions",
00670     "LineNumberTable", "LocalVariableTable",
00671     "InnerClasses", "Synthetic", "Deprecated",
00672     "PMGClass", "Signature"
00673   };
00674 }

Generated at Thu Feb 7 06:43:03 2002 for Bandera by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001