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_1_3 = 47;
00017 public final static short MINOR_1_3 = 0;
00018 public final static short MAJOR = MAJOR_1_1;
00019 public final static short MINOR = MINOR_1_1;
00020
00021
00022
00023 public final static int MAX_SHORT = 65535;
00024
00025
00026
00027 public final static int MAX_BYTE = 255;
00028
00029
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
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
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
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;
00225 public static final short I2C = 146;
00226 public static final short INT2CHAR = 146;
00227 public static final short I2S = 147;
00228 public static final short INT2SHORT = 147;
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;
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
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
00318
00319 public static final short PUSH = 4711;
00320 public static final short SWITCH = 4712;
00321
00322
00323
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;
00341 public static final byte T_ARRAY = 13;
00342 public static final byte T_OBJECT = 14;
00343 public static final byte T_REFERENCE = 14;
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"
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
00361
00362
00363 public static final short[] NO_OF_OPERANDS = {
00364 0, 0, 0, 0,
00365 0, 0, 0, 0,
00366 0, 0, 0, 0,
00367 0, 0, 0, 0,
00368 1, 2, 1, 2, 2,
00369 1, 1, 1, 1, 1,
00370 0, 0, 0, 0,
00371 0, 0, 0, 0,
00372 0, 0, 0, 0,
00373 0, 0, 0, 0,
00374 0, 0, 0, 0,
00375 0, 0, 0, 0,
00376 0, 0, 0, 0,
00377 1, 1, 1, 1,
00378 1, 0, 0, 0,
00379 0, 0, 0, 0,
00380 0, 0, 0, 0,
00381 0, 0, 0, 0,
00382 0, 0, 0, 0,
00383 0, 0, 0, 0,
00384 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,
00391 0, 0, 0, 0, 0,
00392 0, 0, 0, 0, 0,
00393 0, 0, 0, 0, 0, 0,
00394 2, 0, 0, 0, 0, 0,
00395 0, 0, 0, 0, 0, 0,
00396 0, 0, 0, 0, 0, 0,
00397 0, 0, 0, 2, 2,
00398 2, 2, 2, 2, 2,
00399 2, 2, 2, 2,
00400 2, 2, 2, 2,
00401 2, 1, UNPREDICTABLE, UNPREDICTABLE,
00402 0, 0, 0,
00403 0, 0, 0,
00404 2, 2, 2,
00405 2, 2, 2, 2,
00406 4, UNDEFINED, 2,
00407 1, 2,
00408 0, 0, 2,
00409 2, 0,
00410 0, UNPREDICTABLE, 3,
00411 2, 2, 4,
00412 4, 0, 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, RESERVED
00422 };
00423
00424
00425
00426
00427 public static final short[][] TYPE_OF_OPERANDS = {
00428 {}, {}, {}, {},
00429 {}, {}, {}, {},
00430 {}, {}, {}, {},
00431 {}, {}, {}, {},
00432 {T_BYTE}, {T_SHORT}, {T_BYTE},
00433 {T_SHORT}, {T_SHORT},
00434 {T_BYTE}, {T_BYTE}, {T_BYTE},
00435 {T_BYTE}, {T_BYTE}, {},
00436 {}, {}, {}, {},
00437 {}, {}, {}, {},
00438 {}, {}, {}, {},
00439 {}, {}, {}, {},
00440 {}, {}, {}, {},
00441 {}, {}, {}, {},
00442 {}, {}, {}, {T_BYTE},
00443 {T_BYTE}, {T_BYTE}, {T_BYTE},
00444 {T_BYTE}, {}, {},
00445 {}, {}, {}, {},
00446 {}, {}, {}, {},
00447 {}, {}, {}, {},
00448 {}, {}, {}, {},
00449 {}, {}, {}, {},
00450 {}, {}, {}, {},
00451 {}, {}, {}, {}, {},
00452 {}, {}, {}, {},
00453 {}, {}, {}, {}, {},
00454 {}, {}, {}, {}, {},
00455 {}, {}, {}, {}, {},
00456 {}, {}, {}, {}, {},
00457 {}, {}, {}, {}, {},
00458 {}, {}, {}, {}, {},
00459 {}, {}, {}, {}, {},
00460 {}, {}, {}, {T_BYTE, T_BYTE},
00461 {}, {}, {}, {}, {}, {},
00462 {}, {}, {}, {}, {}, {},
00463 {}, {},{}, {}, {},
00464 {}, {}, {}, {T_SHORT},
00465 {T_SHORT}, {T_SHORT}, {T_SHORT},
00466 {T_SHORT}, {T_SHORT}, {T_SHORT},
00467 {T_SHORT}, {T_SHORT},
00468 {T_SHORT}, {T_SHORT},
00469 {T_SHORT}, {T_SHORT},
00470 {T_SHORT}, {T_SHORT}, {T_SHORT},
00471 {T_BYTE}, {}, {},
00472 {}, {}, {}, {},
00473 {}, {}, {T_SHORT},
00474 {T_SHORT}, {T_SHORT},
00475 {T_SHORT}, {T_SHORT},
00476 {T_SHORT}, {T_SHORT},
00477 {T_SHORT, T_BYTE, T_BYTE}, {},
00478 {T_SHORT}, {T_BYTE},
00479 {T_SHORT}, {}, {},
00480 {T_SHORT}, {T_SHORT},
00481 {}, {}, {T_BYTE},
00482 {T_SHORT, T_BYTE}, {T_SHORT},
00483 {T_SHORT}, {T_INT}, {T_INT},
00484 {}, {}, {}, {}, {}, {}, {}, {},
00485 {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
00486 {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
00487 {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
00488 {}, {}
00489 };
00490
00491
00492
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
00545
00546 public static final int[] CONSUME_STACK = {
00547 0, 0, 0, 0, 0,
00548 0, 0, 0, 0, 0,
00549 0, 0, 0, 0, 0,
00550 0, 0, 0, 0, 0, 0, 0,
00551 0, 0, 0, 0, 0, 0, 0,
00552 0, 0, 0, 0, 0, 0,
00553 0, 0, 0, 0, 0, 0,
00554 0, 0, 0, 0, 0, 2,
00555 2, 2, 2, 2, 2, 2, 2,
00556 1, 2, 1, 2, 1, 1,
00557 1, 1, 1, 2, 2,
00558 2, 2, 1, 1, 1,
00559 1, 2, 2, 2, 2,
00560 1, 1, 1, 1, 3, 4,
00561 3, 4, 3, 3, 3, 3,
00562 1, 2, 1, 2, 3, 2, 3,
00563 4, 2, 2, 4, 2, 4, 2, 4,
00564 2, 4, 2, 4, 2, 4, 2, 4,
00565 2, 4, 2, 4, 2, 4, 1, 2,
00566 1, 2, 2, 3, 2, 3, 2, 3,
00567 2, 4, 2, 4, 2, 4, 0,
00568 1, 1, 1, 2, 2, 2, 1, 1,
00569 1, 2, 2, 2, 1, 1, 1,
00570 4, 2, 2, 4, 4, 1, 1,
00571 1, 1, 1, 1, 2, 2, 2,
00572 2 , 2, 2, 2, 2,
00573 0, 0, 0, 1, 1, 1,
00574 2, 1, 2, 1, 0, 0,
00575 UNPREDICTABLE, 1, UNPREDICTABLE,
00576 UNPREDICTABLE, UNPREDICTABLE,
00577 UNPREDICTABLE,
00578 UNPREDICTABLE, UNDEFINED, 0, 1, 1,
00579 1, 1, 1, 1, 1,
00580 1, 0, UNPREDICTABLE, 1, 1,
00581 0, 0, 0, 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, UNPREDICTABLE
00595 };
00596
00597
00598
00599
00600 public static final int[] PRODUCE_STACK = {
00601 0, 1, 1, 1, 1,
00602 1, 1, 1, 1, 2,
00603 2, 1, 1, 1, 2,
00604 2, 1, 1, 1, 1, 2, 1,
00605 2, 1, 2, 1, 1, 1, 1,
00606 1, 2, 2, 2, 2, 1,
00607 1, 1, 1, 2, 2, 2,
00608 2, 1, 1, 1, 1, 1,
00609 2, 1, 2, 1, 1, 1, 1,
00610 0, 0, 0, 0, 0, 0,
00611 0, 0, 0, 0, 0,
00612 0, 0, 0, 0, 0,
00613 0, 0, 0, 0, 0,
00614 0, 0, 0, 0, 0, 0,
00615 0, 0, 0, 0, 0, 0,
00616 0, 0, 2, 3, 4, 4, 5,
00617 6, 2, 1, 2, 1, 2, 1, 2,
00618 1, 2, 1, 2, 1, 2, 1, 2,
00619 1, 2, 1, 2, 1, 2, 1, 2,
00620 1, 2, 1, 2, 1, 2, 1, 2,
00621 1, 2, 1, 2, 1, 2,
00622 0, 2, 1, 2, 1, 1, 2, 1,
00623 2, 2, 1, 2, 1,
00624 1, 1, 1, 1, 1, 1,
00625 1, 1, 0, 0, 0, 0, 0, 0,
00626 0, 0, 0, 0, 0,
00627 0, 0, 0, 0, 1, 0,
00628 0, 0, 0, 0, 0,
00629 0, 0, 0, UNPREDICTABLE, 0,
00630 UNPREDICTABLE, 0, UNPREDICTABLE,
00631 UNPREDICTABLE, UNPREDICTABLE,
00632 UNPREDICTABLE, UNDEFINED, 1, 1, 1,
00633 1, 1, 1, 1, 0,
00634 0, 0, 1, 0, 0,
00635 0, 1, 0, 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, UNPREDICTABLE
00649 };
00650
00651
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 }