1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/javap/src/main/java/org/apidesign/javap/RuntimeConstants.java Wed Feb 06 18:24:53 2013 +0100
1.3 @@ -0,0 +1,787 @@
1.4 +/*
1.5 + * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
1.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1.7 + *
1.8 + * This code is free software; you can redistribute it and/or modify it
1.9 + * under the terms of the GNU General Public License version 2 only, as
1.10 + * published by the Free Software Foundation. Oracle designates this
1.11 + * particular file as subject to the "Classpath" exception as provided
1.12 + * by Oracle in the LICENSE file that accompanied this code.
1.13 + *
1.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
1.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1.17 + * version 2 for more details (a copy is included in the LICENSE file that
1.18 + * accompanied this code).
1.19 + *
1.20 + * You should have received a copy of the GNU General Public License version
1.21 + * 2 along with this work; if not, write to the Free Software Foundation,
1.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
1.23 + *
1.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
1.25 + * or visit www.oracle.com if you need additional information or have any
1.26 + * questions.
1.27 + */
1.28 +
1.29 +
1.30 +package org.apidesign.javap;
1.31 +
1.32 +public interface RuntimeConstants {
1.33 +
1.34 + /* Signature Characters */
1.35 + public static final char SIGC_VOID = 'V';
1.36 + public static final String SIG_VOID = "V";
1.37 + public static final char SIGC_BOOLEAN = 'Z';
1.38 + public static final String SIG_BOOLEAN = "Z";
1.39 + public static final char SIGC_BYTE = 'B';
1.40 + public static final String SIG_BYTE = "B";
1.41 + public static final char SIGC_CHAR = 'C';
1.42 + public static final String SIG_CHAR = "C";
1.43 + public static final char SIGC_SHORT = 'S';
1.44 + public static final String SIG_SHORT = "S";
1.45 + public static final char SIGC_INT = 'I';
1.46 + public static final String SIG_INT = "I";
1.47 + public static final char SIGC_LONG = 'J';
1.48 + public static final String SIG_LONG = "J";
1.49 + public static final char SIGC_FLOAT = 'F';
1.50 + public static final String SIG_FLOAT = "F";
1.51 + public static final char SIGC_DOUBLE = 'D';
1.52 + public static final String SIG_DOUBLE = "D";
1.53 + public static final char SIGC_ARRAY = '[';
1.54 + public static final String SIG_ARRAY = "[";
1.55 + public static final char SIGC_CLASS = 'L';
1.56 + public static final String SIG_CLASS = "L";
1.57 + public static final char SIGC_METHOD = '(';
1.58 + public static final String SIG_METHOD = "(";
1.59 + public static final char SIGC_ENDCLASS = ';';
1.60 + public static final String SIG_ENDCLASS = ";";
1.61 + public static final char SIGC_ENDMETHOD = ')';
1.62 + public static final String SIG_ENDMETHOD = ")";
1.63 + public static final char SIGC_PACKAGE = '/';
1.64 + public static final String SIG_PACKAGE = "/";
1.65 +
1.66 + /* Class File Constants */
1.67 + public static final int JAVA_MAGIC = 0xcafebabe;
1.68 + public static final int JAVA_VERSION = 45;
1.69 + public static final int JAVA_MINOR_VERSION = 3;
1.70 +
1.71 + /* Constant table */
1.72 + public static final int CONSTANT_UTF8 = 1;
1.73 + public static final int CONSTANT_UNICODE = 2;
1.74 + public static final int CONSTANT_INTEGER = 3;
1.75 + public static final int CONSTANT_FLOAT = 4;
1.76 + public static final int CONSTANT_LONG = 5;
1.77 + public static final int CONSTANT_DOUBLE = 6;
1.78 + public static final int CONSTANT_CLASS = 7;
1.79 + public static final int CONSTANT_STRING = 8;
1.80 + public static final int CONSTANT_FIELD = 9;
1.81 + public static final int CONSTANT_METHOD = 10;
1.82 + public static final int CONSTANT_INTERFACEMETHOD = 11;
1.83 + public static final int CONSTANT_NAMEANDTYPE = 12;
1.84 +
1.85 + /* Access Flags */
1.86 + public static final int ACC_PUBLIC = 0x00000001;
1.87 + public static final int ACC_PRIVATE = 0x00000002;
1.88 + public static final int ACC_PROTECTED = 0x00000004;
1.89 + public static final int ACC_STATIC = 0x00000008;
1.90 + public static final int ACC_FINAL = 0x00000010;
1.91 + public static final int ACC_SYNCHRONIZED = 0x00000020;
1.92 + public static final int ACC_SUPER = 0x00000020;
1.93 + public static final int ACC_VOLATILE = 0x00000040;
1.94 + public static final int ACC_TRANSIENT = 0x00000080;
1.95 + public static final int ACC_NATIVE = 0x00000100;
1.96 + public static final int ACC_INTERFACE = 0x00000200;
1.97 + public static final int ACC_ABSTRACT = 0x00000400;
1.98 + public static final int ACC_STRICT = 0x00000800;
1.99 + public static final int ACC_EXPLICIT = 0x00001000;
1.100 + public static final int ACC_SYNTHETIC = 0x00010000; // actually, this is an attribute
1.101 +
1.102 + /* Type codes */
1.103 + public static final int T_CLASS = 0x00000002;
1.104 + public static final int T_BOOLEAN = 0x00000004;
1.105 + public static final int T_CHAR = 0x00000005;
1.106 + public static final int T_FLOAT = 0x00000006;
1.107 + public static final int T_DOUBLE = 0x00000007;
1.108 + public static final int T_BYTE = 0x00000008;
1.109 + public static final int T_SHORT = 0x00000009;
1.110 + public static final int T_INT = 0x0000000a;
1.111 + public static final int T_LONG = 0x0000000b;
1.112 +
1.113 + /* Type codes for StackMap attribute */
1.114 + public static final int ITEM_Bogus =0; // an unknown or uninitialized value
1.115 + public static final int ITEM_Integer =1; // a 32-bit integer
1.116 + public static final int ITEM_Float =2; // not used
1.117 + public static final int ITEM_Double =3; // not used
1.118 + public static final int ITEM_Long =4; // a 64-bit integer
1.119 + public static final int ITEM_Null =5; // the type of null
1.120 + public static final int ITEM_InitObject =6; // "this" in constructor
1.121 + public static final int ITEM_Object =7; // followed by 2-byte index of class name
1.122 + public static final int ITEM_NewObject =8; // followed by 2-byte ref to "new"
1.123 +
1.124 + /* Constants used in StackMapTable attribute */
1.125 + public static final int SAME_FRAME_BOUND = 64;
1.126 + public static final int SAME_LOCALS_1_STACK_ITEM_BOUND = 128;
1.127 + public static final int SAME_LOCALS_1_STACK_ITEM_EXTENDED = 247;
1.128 + public static final int SAME_FRAME_EXTENDED = 251;
1.129 + public static final int FULL_FRAME = 255;
1.130 +
1.131 + /* Opcodes */
1.132 + public static final int opc_dead = -2;
1.133 + public static final int opc_label = -1;
1.134 + public static final int opc_nop = 0;
1.135 + public static final int opc_aconst_null = 1;
1.136 + public static final int opc_iconst_m1 = 2;
1.137 + public static final int opc_iconst_0 = 3;
1.138 + public static final int opc_iconst_1 = 4;
1.139 + public static final int opc_iconst_2 = 5;
1.140 + public static final int opc_iconst_3 = 6;
1.141 + public static final int opc_iconst_4 = 7;
1.142 + public static final int opc_iconst_5 = 8;
1.143 + public static final int opc_lconst_0 = 9;
1.144 + public static final int opc_lconst_1 = 10;
1.145 + public static final int opc_fconst_0 = 11;
1.146 + public static final int opc_fconst_1 = 12;
1.147 + public static final int opc_fconst_2 = 13;
1.148 + public static final int opc_dconst_0 = 14;
1.149 + public static final int opc_dconst_1 = 15;
1.150 + public static final int opc_bipush = 16;
1.151 + public static final int opc_sipush = 17;
1.152 + public static final int opc_ldc = 18;
1.153 + public static final int opc_ldc_w = 19;
1.154 + public static final int opc_ldc2_w = 20;
1.155 + public static final int opc_iload = 21;
1.156 + public static final int opc_lload = 22;
1.157 + public static final int opc_fload = 23;
1.158 + public static final int opc_dload = 24;
1.159 + public static final int opc_aload = 25;
1.160 + public static final int opc_iload_0 = 26;
1.161 + public static final int opc_iload_1 = 27;
1.162 + public static final int opc_iload_2 = 28;
1.163 + public static final int opc_iload_3 = 29;
1.164 + public static final int opc_lload_0 = 30;
1.165 + public static final int opc_lload_1 = 31;
1.166 + public static final int opc_lload_2 = 32;
1.167 + public static final int opc_lload_3 = 33;
1.168 + public static final int opc_fload_0 = 34;
1.169 + public static final int opc_fload_1 = 35;
1.170 + public static final int opc_fload_2 = 36;
1.171 + public static final int opc_fload_3 = 37;
1.172 + public static final int opc_dload_0 = 38;
1.173 + public static final int opc_dload_1 = 39;
1.174 + public static final int opc_dload_2 = 40;
1.175 + public static final int opc_dload_3 = 41;
1.176 + public static final int opc_aload_0 = 42;
1.177 + public static final int opc_aload_1 = 43;
1.178 + public static final int opc_aload_2 = 44;
1.179 + public static final int opc_aload_3 = 45;
1.180 + public static final int opc_iaload = 46;
1.181 + public static final int opc_laload = 47;
1.182 + public static final int opc_faload = 48;
1.183 + public static final int opc_daload = 49;
1.184 + public static final int opc_aaload = 50;
1.185 + public static final int opc_baload = 51;
1.186 + public static final int opc_caload = 52;
1.187 + public static final int opc_saload = 53;
1.188 + public static final int opc_istore = 54;
1.189 + public static final int opc_lstore = 55;
1.190 + public static final int opc_fstore = 56;
1.191 + public static final int opc_dstore = 57;
1.192 + public static final int opc_astore = 58;
1.193 + public static final int opc_istore_0 = 59;
1.194 + public static final int opc_istore_1 = 60;
1.195 + public static final int opc_istore_2 = 61;
1.196 + public static final int opc_istore_3 = 62;
1.197 + public static final int opc_lstore_0 = 63;
1.198 + public static final int opc_lstore_1 = 64;
1.199 + public static final int opc_lstore_2 = 65;
1.200 + public static final int opc_lstore_3 = 66;
1.201 + public static final int opc_fstore_0 = 67;
1.202 + public static final int opc_fstore_1 = 68;
1.203 + public static final int opc_fstore_2 = 69;
1.204 + public static final int opc_fstore_3 = 70;
1.205 + public static final int opc_dstore_0 = 71;
1.206 + public static final int opc_dstore_1 = 72;
1.207 + public static final int opc_dstore_2 = 73;
1.208 + public static final int opc_dstore_3 = 74;
1.209 + public static final int opc_astore_0 = 75;
1.210 + public static final int opc_astore_1 = 76;
1.211 + public static final int opc_astore_2 = 77;
1.212 + public static final int opc_astore_3 = 78;
1.213 + public static final int opc_iastore = 79;
1.214 + public static final int opc_lastore = 80;
1.215 + public static final int opc_fastore = 81;
1.216 + public static final int opc_dastore = 82;
1.217 + public static final int opc_aastore = 83;
1.218 + public static final int opc_bastore = 84;
1.219 + public static final int opc_castore = 85;
1.220 + public static final int opc_sastore = 86;
1.221 + public static final int opc_pop = 87;
1.222 + public static final int opc_pop2 = 88;
1.223 + public static final int opc_dup = 89;
1.224 + public static final int opc_dup_x1 = 90;
1.225 + public static final int opc_dup_x2 = 91;
1.226 + public static final int opc_dup2 = 92;
1.227 + public static final int opc_dup2_x1 = 93;
1.228 + public static final int opc_dup2_x2 = 94;
1.229 + public static final int opc_swap = 95;
1.230 + public static final int opc_iadd = 96;
1.231 + public static final int opc_ladd = 97;
1.232 + public static final int opc_fadd = 98;
1.233 + public static final int opc_dadd = 99;
1.234 + public static final int opc_isub = 100;
1.235 + public static final int opc_lsub = 101;
1.236 + public static final int opc_fsub = 102;
1.237 + public static final int opc_dsub = 103;
1.238 + public static final int opc_imul = 104;
1.239 + public static final int opc_lmul = 105;
1.240 + public static final int opc_fmul = 106;
1.241 + public static final int opc_dmul = 107;
1.242 + public static final int opc_idiv = 108;
1.243 + public static final int opc_ldiv = 109;
1.244 + public static final int opc_fdiv = 110;
1.245 + public static final int opc_ddiv = 111;
1.246 + public static final int opc_irem = 112;
1.247 + public static final int opc_lrem = 113;
1.248 + public static final int opc_frem = 114;
1.249 + public static final int opc_drem = 115;
1.250 + public static final int opc_ineg = 116;
1.251 + public static final int opc_lneg = 117;
1.252 + public static final int opc_fneg = 118;
1.253 + public static final int opc_dneg = 119;
1.254 + public static final int opc_ishl = 120;
1.255 + public static final int opc_lshl = 121;
1.256 + public static final int opc_ishr = 122;
1.257 + public static final int opc_lshr = 123;
1.258 + public static final int opc_iushr = 124;
1.259 + public static final int opc_lushr = 125;
1.260 + public static final int opc_iand = 126;
1.261 + public static final int opc_land = 127;
1.262 + public static final int opc_ior = 128;
1.263 + public static final int opc_lor = 129;
1.264 + public static final int opc_ixor = 130;
1.265 + public static final int opc_lxor = 131;
1.266 + public static final int opc_iinc = 132;
1.267 + public static final int opc_i2l = 133;
1.268 + public static final int opc_i2f = 134;
1.269 + public static final int opc_i2d = 135;
1.270 + public static final int opc_l2i = 136;
1.271 + public static final int opc_l2f = 137;
1.272 + public static final int opc_l2d = 138;
1.273 + public static final int opc_f2i = 139;
1.274 + public static final int opc_f2l = 140;
1.275 + public static final int opc_f2d = 141;
1.276 + public static final int opc_d2i = 142;
1.277 + public static final int opc_d2l = 143;
1.278 + public static final int opc_d2f = 144;
1.279 + public static final int opc_i2b = 145;
1.280 + public static final int opc_int2byte = 145;
1.281 + public static final int opc_i2c = 146;
1.282 + public static final int opc_int2char = 146;
1.283 + public static final int opc_i2s = 147;
1.284 + public static final int opc_int2short = 147;
1.285 + public static final int opc_lcmp = 148;
1.286 + public static final int opc_fcmpl = 149;
1.287 + public static final int opc_fcmpg = 150;
1.288 + public static final int opc_dcmpl = 151;
1.289 + public static final int opc_dcmpg = 152;
1.290 + public static final int opc_ifeq = 153;
1.291 + public static final int opc_ifne = 154;
1.292 + public static final int opc_iflt = 155;
1.293 + public static final int opc_ifge = 156;
1.294 + public static final int opc_ifgt = 157;
1.295 + public static final int opc_ifle = 158;
1.296 + public static final int opc_if_icmpeq = 159;
1.297 + public static final int opc_if_icmpne = 160;
1.298 + public static final int opc_if_icmplt = 161;
1.299 + public static final int opc_if_icmpge = 162;
1.300 + public static final int opc_if_icmpgt = 163;
1.301 + public static final int opc_if_icmple = 164;
1.302 + public static final int opc_if_acmpeq = 165;
1.303 + public static final int opc_if_acmpne = 166;
1.304 + public static final int opc_goto = 167;
1.305 + public static final int opc_jsr = 168;
1.306 + public static final int opc_ret = 169;
1.307 + public static final int opc_tableswitch = 170;
1.308 + public static final int opc_lookupswitch = 171;
1.309 + public static final int opc_ireturn = 172;
1.310 + public static final int opc_lreturn = 173;
1.311 + public static final int opc_freturn = 174;
1.312 + public static final int opc_dreturn = 175;
1.313 + public static final int opc_areturn = 176;
1.314 + public static final int opc_return = 177;
1.315 + public static final int opc_getstatic = 178;
1.316 + public static final int opc_putstatic = 179;
1.317 + public static final int opc_getfield = 180;
1.318 + public static final int opc_putfield = 181;
1.319 + public static final int opc_invokevirtual = 182;
1.320 + public static final int opc_invokenonvirtual = 183;
1.321 + public static final int opc_invokespecial = 183;
1.322 + public static final int opc_invokestatic = 184;
1.323 + public static final int opc_invokeinterface = 185;
1.324 +// public static final int opc_xxxunusedxxx = 186;
1.325 + public static final int opc_new = 187;
1.326 + public static final int opc_newarray = 188;
1.327 + public static final int opc_anewarray = 189;
1.328 + public static final int opc_arraylength = 190;
1.329 + public static final int opc_athrow = 191;
1.330 + public static final int opc_checkcast = 192;
1.331 + public static final int opc_instanceof = 193;
1.332 + public static final int opc_monitorenter = 194;
1.333 + public static final int opc_monitorexit = 195;
1.334 + public static final int opc_wide = 196;
1.335 + public static final int opc_multianewarray = 197;
1.336 + public static final int opc_ifnull = 198;
1.337 + public static final int opc_ifnonnull = 199;
1.338 + public static final int opc_goto_w = 200;
1.339 + public static final int opc_jsr_w = 201;
1.340 + /* Pseudo-instructions */
1.341 + public static final int opc_bytecode = 203;
1.342 + public static final int opc_try = 204;
1.343 + public static final int opc_endtry = 205;
1.344 + public static final int opc_catch = 206;
1.345 + public static final int opc_var = 207;
1.346 + public static final int opc_endvar = 208;
1.347 + public static final int opc_localsmap = 209;
1.348 + public static final int opc_stackmap = 210;
1.349 + /* PicoJava prefixes */
1.350 + public static final int opc_nonpriv = 254;
1.351 + public static final int opc_priv = 255;
1.352 +
1.353 + /* Wide instructions */
1.354 + public static final int opc_iload_w = (opc_wide<<8)|opc_iload;
1.355 + public static final int opc_lload_w = (opc_wide<<8)|opc_lload;
1.356 + public static final int opc_fload_w = (opc_wide<<8)|opc_fload;
1.357 + public static final int opc_dload_w = (opc_wide<<8)|opc_dload;
1.358 + public static final int opc_aload_w = (opc_wide<<8)|opc_aload;
1.359 + public static final int opc_istore_w = (opc_wide<<8)|opc_istore;
1.360 + public static final int opc_lstore_w = (opc_wide<<8)|opc_lstore;
1.361 + public static final int opc_fstore_w = (opc_wide<<8)|opc_fstore;
1.362 + public static final int opc_dstore_w = (opc_wide<<8)|opc_dstore;
1.363 + public static final int opc_astore_w = (opc_wide<<8)|opc_astore;
1.364 + public static final int opc_ret_w = (opc_wide<<8)|opc_ret;
1.365 + public static final int opc_iinc_w = (opc_wide<<8)|opc_iinc;
1.366 +
1.367 + /* Opcode Names */
1.368 + public static final String opcNamesTab[] = {
1.369 + "nop",
1.370 + "aconst_null",
1.371 + "iconst_m1",
1.372 + "iconst_0",
1.373 + "iconst_1",
1.374 + "iconst_2",
1.375 + "iconst_3",
1.376 + "iconst_4",
1.377 + "iconst_5",
1.378 + "lconst_0",
1.379 + "lconst_1",
1.380 + "fconst_0",
1.381 + "fconst_1",
1.382 + "fconst_2",
1.383 + "dconst_0",
1.384 + "dconst_1",
1.385 + "bipush",
1.386 + "sipush",
1.387 + "ldc",
1.388 + "ldc_w",
1.389 + "ldc2_w",
1.390 + "iload",
1.391 + "lload",
1.392 + "fload",
1.393 + "dload",
1.394 + "aload",
1.395 + "iload_0",
1.396 + "iload_1",
1.397 + "iload_2",
1.398 + "iload_3",
1.399 + "lload_0",
1.400 + "lload_1",
1.401 + "lload_2",
1.402 + "lload_3",
1.403 + "fload_0",
1.404 + "fload_1",
1.405 + "fload_2",
1.406 + "fload_3",
1.407 + "dload_0",
1.408 + "dload_1",
1.409 + "dload_2",
1.410 + "dload_3",
1.411 + "aload_0",
1.412 + "aload_1",
1.413 + "aload_2",
1.414 + "aload_3",
1.415 + "iaload",
1.416 + "laload",
1.417 + "faload",
1.418 + "daload",
1.419 + "aaload",
1.420 + "baload",
1.421 + "caload",
1.422 + "saload",
1.423 + "istore",
1.424 + "lstore",
1.425 + "fstore",
1.426 + "dstore",
1.427 + "astore",
1.428 + "istore_0",
1.429 + "istore_1",
1.430 + "istore_2",
1.431 + "istore_3",
1.432 + "lstore_0",
1.433 + "lstore_1",
1.434 + "lstore_2",
1.435 + "lstore_3",
1.436 + "fstore_0",
1.437 + "fstore_1",
1.438 + "fstore_2",
1.439 + "fstore_3",
1.440 + "dstore_0",
1.441 + "dstore_1",
1.442 + "dstore_2",
1.443 + "dstore_3",
1.444 + "astore_0",
1.445 + "astore_1",
1.446 + "astore_2",
1.447 + "astore_3",
1.448 + "iastore",
1.449 + "lastore",
1.450 + "fastore",
1.451 + "dastore",
1.452 + "aastore",
1.453 + "bastore",
1.454 + "castore",
1.455 + "sastore",
1.456 + "pop",
1.457 + "pop2",
1.458 + "dup",
1.459 + "dup_x1",
1.460 + "dup_x2",
1.461 + "dup2",
1.462 + "dup2_x1",
1.463 + "dup2_x2",
1.464 + "swap",
1.465 + "iadd",
1.466 + "ladd",
1.467 + "fadd",
1.468 + "dadd",
1.469 + "isub",
1.470 + "lsub",
1.471 + "fsub",
1.472 + "dsub",
1.473 + "imul",
1.474 + "lmul",
1.475 + "fmul",
1.476 + "dmul",
1.477 + "idiv",
1.478 + "ldiv",
1.479 + "fdiv",
1.480 + "ddiv",
1.481 + "irem",
1.482 + "lrem",
1.483 + "frem",
1.484 + "drem",
1.485 + "ineg",
1.486 + "lneg",
1.487 + "fneg",
1.488 + "dneg",
1.489 + "ishl",
1.490 + "lshl",
1.491 + "ishr",
1.492 + "lshr",
1.493 + "iushr",
1.494 + "lushr",
1.495 + "iand",
1.496 + "land",
1.497 + "ior",
1.498 + "lor",
1.499 + "ixor",
1.500 + "lxor",
1.501 + "iinc",
1.502 + "i2l",
1.503 + "i2f",
1.504 + "i2d",
1.505 + "l2i",
1.506 + "l2f",
1.507 + "l2d",
1.508 + "f2i",
1.509 + "f2l",
1.510 + "f2d",
1.511 + "d2i",
1.512 + "d2l",
1.513 + "d2f",
1.514 + "i2b",
1.515 + "i2c",
1.516 + "i2s",
1.517 + "lcmp",
1.518 + "fcmpl",
1.519 + "fcmpg",
1.520 + "dcmpl",
1.521 + "dcmpg",
1.522 + "ifeq",
1.523 + "ifne",
1.524 + "iflt",
1.525 + "ifge",
1.526 + "ifgt",
1.527 + "ifle",
1.528 + "if_icmpeq",
1.529 + "if_icmpne",
1.530 + "if_icmplt",
1.531 + "if_icmpge",
1.532 + "if_icmpgt",
1.533 + "if_icmple",
1.534 + "if_acmpeq",
1.535 + "if_acmpne",
1.536 + "goto",
1.537 + "jsr",
1.538 + "ret",
1.539 + "tableswitch",
1.540 + "lookupswitch",
1.541 + "ireturn",
1.542 + "lreturn",
1.543 + "freturn",
1.544 + "dreturn",
1.545 + "areturn",
1.546 + "return",
1.547 + "getstatic",
1.548 + "putstatic",
1.549 + "getfield",
1.550 + "putfield",
1.551 + "invokevirtual",
1.552 + "invokespecial", // was "invokenonvirtual",
1.553 + "invokestatic",
1.554 + "invokeinterface",
1.555 + "bytecode 186", //"xxxunusedxxx",
1.556 + "new",
1.557 + "newarray",
1.558 + "anewarray",
1.559 + "arraylength",
1.560 + "athrow",
1.561 + "checkcast",
1.562 + "instanceof",
1.563 + "monitorenter",
1.564 + "monitorexit",
1.565 + null, // "wide",
1.566 + "multianewarray",
1.567 + "ifnull",
1.568 + "ifnonnull",
1.569 + "goto_w",
1.570 + "jsr_w",
1.571 + "bytecode 202", // "breakpoint",
1.572 + "bytecode",
1.573 + "try",
1.574 + "endtry",
1.575 + "catch",
1.576 + "var",
1.577 + "endvar",
1.578 + "locals_map",
1.579 + "stack_map"
1.580 + };
1.581 +
1.582 + /* Opcode Lengths */
1.583 + public static final int opcLengthsTab[] = {
1.584 + 1,
1.585 + 1,
1.586 + 1,
1.587 + 1,
1.588 + 1,
1.589 + 1,
1.590 + 1,
1.591 + 1,
1.592 + 1,
1.593 + 1,
1.594 + 1,
1.595 + 1,
1.596 + 1,
1.597 + 1,
1.598 + 1,
1.599 + 1,
1.600 + 2,
1.601 + 3,
1.602 + 2,
1.603 + 3,
1.604 + 3,
1.605 + 2,
1.606 + 2,
1.607 + 2,
1.608 + 2,
1.609 + 2,
1.610 + 1,
1.611 + 1,
1.612 + 1,
1.613 + 1,
1.614 + 1,
1.615 + 1,
1.616 + 1,
1.617 + 1,
1.618 + 1,
1.619 + 1,
1.620 + 1,
1.621 + 1,
1.622 + 1,
1.623 + 1,
1.624 + 1,
1.625 + 1,
1.626 + 1,
1.627 + 1,
1.628 + 1,
1.629 + 1,
1.630 + 1,
1.631 + 1,
1.632 + 1,
1.633 + 1,
1.634 + 1,
1.635 + 1,
1.636 + 1,
1.637 + 1,
1.638 + 2,
1.639 + 2,
1.640 + 2,
1.641 + 2,
1.642 + 2,
1.643 + 1,
1.644 + 1,
1.645 + 1,
1.646 + 1,
1.647 + 1,
1.648 + 1,
1.649 + 1,
1.650 + 1,
1.651 + 1,
1.652 + 1,
1.653 + 1,
1.654 + 1,
1.655 + 1,
1.656 + 1,
1.657 + 1,
1.658 + 1,
1.659 + 1,
1.660 + 1,
1.661 + 1,
1.662 + 1,
1.663 + 1,
1.664 + 1,
1.665 + 1,
1.666 + 1,
1.667 + 1,
1.668 + 1,
1.669 + 1,
1.670 + 1,
1.671 + 1,
1.672 + 1,
1.673 + 1,
1.674 + 1,
1.675 + 1,
1.676 + 1,
1.677 + 1,
1.678 + 1,
1.679 + 1,
1.680 + 1,
1.681 + 1,
1.682 + 1,
1.683 + 1,
1.684 + 1,
1.685 + 1,
1.686 + 1,
1.687 + 1,
1.688 + 1,
1.689 + 1,
1.690 + 1,
1.691 + 1,
1.692 + 1,
1.693 + 1,
1.694 + 1,
1.695 + 1,
1.696 + 1,
1.697 + 1,
1.698 + 1,
1.699 + 1,
1.700 + 1,
1.701 + 1,
1.702 + 1,
1.703 + 1,
1.704 + 1,
1.705 + 1,
1.706 + 1,
1.707 + 1,
1.708 + 1,
1.709 + 1,
1.710 + 1,
1.711 + 1,
1.712 + 1,
1.713 + 1,
1.714 + 1,
1.715 + 1,
1.716 + 3,
1.717 + 1,
1.718 + 1,
1.719 + 1,
1.720 + 1,
1.721 + 1,
1.722 + 1,
1.723 + 1,
1.724 + 1,
1.725 + 1,
1.726 + 1,
1.727 + 1,
1.728 + 1,
1.729 + 1,
1.730 + 1,
1.731 + 1,
1.732 + 1,
1.733 + 1,
1.734 + 1,
1.735 + 1,
1.736 + 1,
1.737 + 3,
1.738 + 3,
1.739 + 3,
1.740 + 3,
1.741 + 3,
1.742 + 3,
1.743 + 3,
1.744 + 3,
1.745 + 3,
1.746 + 3,
1.747 + 3,
1.748 + 3,
1.749 + 3,
1.750 + 3,
1.751 + 3,
1.752 + 3,
1.753 + 2,
1.754 + 99,
1.755 + 99,
1.756 + 1,
1.757 + 1,
1.758 + 1,
1.759 + 1,
1.760 + 1,
1.761 + 1,
1.762 + 3,
1.763 + 3,
1.764 + 3,
1.765 + 3,
1.766 + 3,
1.767 + 3,
1.768 + 3,
1.769 + 5,
1.770 + 0,
1.771 + 3,
1.772 + 2,
1.773 + 3,
1.774 + 1,
1.775 + 1,
1.776 + 3,
1.777 + 3,
1.778 + 1,
1.779 + 1,
1.780 + 0, // wide
1.781 + 4,
1.782 + 3,
1.783 + 3,
1.784 + 5,
1.785 + 5,
1.786 + 1,
1.787 + 1, 0, 0, 0, 0, 0 // pseudo
1.788 + };
1.789 +
1.790 +}