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