All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xapi.bytecode.api.Opcode Maven / Gradle / Ivy

Go to download

Everything needed to run a comprehensive dev environment. Just type X_ and pick a service from autocomplete; new dev modules will be added as they are built. The only dev service not included in the uber jar is xapi-dev-maven, as it includes all runtime dependencies of maven, adding ~4 seconds to build time, and 6 megabytes to the final output jar size (without xapi-dev-maven, it's ~1MB).

The newest version!
/*
 * Javassist, a Java-bytecode translator toolkit.
 * Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.
 *
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License.  Alternatively, the contents of this file may be used under
 * the terms of the GNU Lesser General Public License Version 2.1 or later,
 * or the Apache License Version 2.0.
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * MODIFIED BY James Nelson of We The Internet, 2013.
 * Repackaged to avoid conflicts with different versions of Javassist,
 * and modified Javassist APIs to make them more accessible to outside code.
 */
package xapi.bytecode.api;

public interface Opcode {
  /* Opcodes */

  int AALOAD = 50;
  int AASTORE = 83;
  int ACONST_NULL = 1;
  int ALOAD = 25;
  int ALOAD_0 = 42;
  int ALOAD_1 = 43;
  int ALOAD_2 = 44;
  int ALOAD_3 = 45;
  int ANEWARRAY = 189;
  int ARETURN = 176;
  int ARRAYLENGTH = 190;
  int ASTORE = 58;
  int ASTORE_0 = 75;
  int ASTORE_1 = 76;
  int ASTORE_2 = 77;
  int ASTORE_3 = 78;
  int ATHROW = 191;
  int BALOAD = 51;
  int BASTORE = 84;
  int BIPUSH = 16;
  int CALOAD = 52;
  int CASTORE = 85;
  int CHECKCAST = 192;
  int D2F = 144;
  int D2I = 142;
  int D2L = 143;
  int DADD = 99;
  int DALOAD = 49;
  int DASTORE = 82;
  int DCMPG = 152;
  int DCMPL = 151;
  int DCONST_0 = 14;
  int DCONST_1 = 15;
  int DDIV = 111;
  int DLOAD = 24;
  int DLOAD_0 = 38;
  int DLOAD_1 = 39;
  int DLOAD_2 = 40;
  int DLOAD_3 = 41;
  int DMUL = 107;
  int DNEG = 119;
  int DREM = 115;
  int DRETURN = 175;
  int DSTORE = 57;
  int DSTORE_0 = 71;
  int DSTORE_1 = 72;
  int DSTORE_2 = 73;
  int DSTORE_3 = 74;
  int DSUB = 103;
  int DUP = 89;
  int DUP2 = 92;
  int DUP2_X1 = 93;
  int DUP2_X2 = 94;
  int DUP_X1 = 90;
  int DUP_X2 = 91;
  int F2D = 141;
  int F2I = 139;
  int F2L = 140;
  int FADD = 98;
  int FALOAD = 48;
  int FASTORE = 81;
  int FCMPG = 150;
  int FCMPL = 149;
  int FCONST_0 = 11;
  int FCONST_1 = 12;
  int FCONST_2 = 13;
  int FDIV = 110;
  int FLOAD = 23;
  int FLOAD_0 = 34;
  int FLOAD_1 = 35;
  int FLOAD_2 = 36;
  int FLOAD_3 = 37;
  int FMUL = 106;
  int FNEG = 118;
  int FREM = 114;
  int FRETURN = 174;
  int FSTORE = 56;
  int FSTORE_0 = 67;
  int FSTORE_1 = 68;
  int FSTORE_2 = 69;
  int FSTORE_3 = 70;
  int FSUB = 102;
  int GETFIELD = 180;
  int GETSTATIC = 178;
  int GOTO = 167;
  int GOTO_W = 200;
  int I2B = 145;
  int I2C = 146;
  int I2D = 135;
  int I2F = 134;
  int I2L = 133;
  int I2S = 147;
  int IADD = 96;
  int IALOAD = 46;
  int IAND = 126;
  int IASTORE = 79;
  int ICONST_0 = 3;
  int ICONST_1 = 4;
  int ICONST_2 = 5;
  int ICONST_3 = 6;
  int ICONST_4 = 7;
  int ICONST_5 = 8;
  int ICONST_M1 = 2;
  int IDIV = 108;
  int IFEQ = 153;
  int IFGE = 156;
  int IFGT = 157;
  int IFLE = 158;
  int IFLT = 155;
  int IFNE = 154;
  int IFNONNULL = 199;
  int IFNULL = 198;
  int IF_ACMPEQ = 165;
  int IF_ACMPNE = 166;
  int IF_ICMPEQ = 159;
  int IF_ICMPGE = 162;
  int IF_ICMPGT = 163;
  int IF_ICMPLE = 164;
  int IF_ICMPLT = 161;
  int IF_ICMPNE = 160;
  int IINC = 132;
  int ILOAD = 21;
  int ILOAD_0 = 26;
  int ILOAD_1 = 27;
  int ILOAD_2 = 28;
  int ILOAD_3 = 29;
  int IMUL = 104;
  int INEG = 116;
  int INSTANCEOF = 193;
  int INVOKEINTERFACE = 185;
  int INVOKESPECIAL = 183;
  int INVOKESTATIC = 184;
  int INVOKEVIRTUAL = 182;
  int IOR = 128;
  int IREM = 112;
  int IRETURN = 172;
  int ISHL = 120;
  int ISHR = 122;
  int ISTORE = 54;
  int ISTORE_0 = 59;
  int ISTORE_1 = 60;
  int ISTORE_2 = 61;
  int ISTORE_3 = 62;
  int ISUB = 100;
  int IUSHR = 124;
  int IXOR = 130;
  int JSR = 168;
  int JSR_W = 201;
  int L2D = 138;
  int L2F = 137;
  int L2I = 136;
  int LADD = 97;
  int LALOAD = 47;
  int LAND = 127;
  int LASTORE = 80;
  int LCMP = 148;
  int LCONST_0 = 9;
  int LCONST_1 = 10;
  int LDC = 18;
  int LDC2_W = 20;
  int LDC_W = 19;
  int LDIV = 109;
  int LLOAD = 22;
  int LLOAD_0 = 30;
  int LLOAD_1 = 31;
  int LLOAD_2 = 32;
  int LLOAD_3 = 33;
  int LMUL = 105;
  int LNEG = 117;
  int LOOKUPSWITCH = 171;
  int LOR = 129;
  int LREM = 113;
  int LRETURN = 173;
  int LSHL = 121;
  int LSHR = 123;
  int LSTORE = 55;
  int LSTORE_0 = 63;
  int LSTORE_1 = 64;
  int LSTORE_2 = 65;
  int LSTORE_3 = 66;
  int LSUB = 101;
  int LUSHR = 125;
  int LXOR = 131;
  int MONITORENTER = 194;
  int MONITOREXIT = 195;
  int MULTIANEWARRAY = 197;
  int NEW = 187;
  int NEWARRAY = 188;
  int NOP = 0;
  int POP = 87;
  int POP2 = 88;
  int PUTFIELD = 181;
  int PUTSTATIC = 179;
  int RET = 169;
  int RETURN = 177;
  int SALOAD = 53;
  int SASTORE = 86;
  int SIPUSH = 17;
  int SWAP = 95;
  int TABLESWITCH = 170;
  int WIDE = 196;

  /* array-type code for the newarray instruction */

  int T_BOOLEAN = 4;
  int T_CHAR = 5;
  int T_FLOAT = 6;
  int T_DOUBLE = 7;
  int T_BYTE = 8;
  int T_SHORT = 9;
  int T_INT = 10;
  int T_LONG = 11;

  /* how many values are pushed on the operand stack. */
  int[] STACK_GROW = {
      0, // nop, 0
      1, // aconst_null, 1
      1, // iconst_m1, 2
      1, // iconst_0, 3
      1, // iconst_1, 4
      1, // iconst_2, 5
      1, // iconst_3, 6
      1, // iconst_4, 7
      1, // iconst_5, 8
      2, // lconst_0, 9
      2, // lconst_1, 10
      1, // fconst_0, 11
      1, // fconst_1, 12
      1, // fconst_2, 13
      2, // dconst_0, 14
      2, // dconst_1, 15
      1, // bipush, 16
      1, // sipush, 17
      1, // ldc, 18
      1, // ldc_w, 19
      2, // ldc2_w, 20
      1, // iload, 21
      2, // lload, 22
      1, // fload, 23
      2, // dload, 24
      1, // aload, 25
      1, // iload_0, 26
      1, // iload_1, 27
      1, // iload_2, 28
      1, // iload_3, 29
      2, // lload_0, 30
      2, // lload_1, 31
      2, // lload_2, 32
      2, // lload_3, 33
      1, // fload_0, 34
      1, // fload_1, 35
      1, // fload_2, 36
      1, // fload_3, 37
      2, // dload_0, 38
      2, // dload_1, 39
      2, // dload_2, 40
      2, // dload_3, 41
      1, // aload_0, 42
      1, // aload_1, 43
      1, // aload_2, 44
      1, // aload_3, 45
      -1, // iaload, 46
      0, // laload, 47
      -1, // faload, 48
      0, // daload, 49
      -1, // aaload, 50
      -1, // baload, 51
      -1, // caload, 52
      -1, // saload, 53
      -1, // istore, 54
      -2, // lstore, 55
      -1, // fstore, 56
      -2, // dstore, 57
      -1, // astore, 58
      -1, // istore_0, 59
      -1, // istore_1, 60
      -1, // istore_2, 61
      -1, // istore_3, 62
      -2, // lstore_0, 63
      -2, // lstore_1, 64
      -2, // lstore_2, 65
      -2, // lstore_3, 66
      -1, // fstore_0, 67
      -1, // fstore_1, 68
      -1, // fstore_2, 69
      -1, // fstore_3, 70
      -2, // dstore_0, 71
      -2, // dstore_1, 72
      -2, // dstore_2, 73
      -2, // dstore_3, 74
      -1, // astore_0, 75
      -1, // astore_1, 76
      -1, // astore_2, 77
      -1, // astore_3, 78
      -3, // iastore, 79
      -4, // lastore, 80
      -3, // fastore, 81
      -4, // dastore, 82
      -3, // aastore, 83
      -3, // bastore, 84
      -3, // castore, 85
      -3, // sastore, 86
      -1, // pop, 87
      -2, // pop2, 88
      1, // dup, 89
      1, // dup_x1, 90
      1, // dup_x2, 91
      2, // dup2, 92
      2, // dup2_x1, 93
      2, // dup2_x2, 94
      0, // swap, 95
      -1, // iadd, 96
      -2, // ladd, 97
      -1, // fadd, 98
      -2, // dadd, 99
      -1, // isub, 100
      -2, // lsub, 101
      -1, // fsub, 102
      -2, // dsub, 103
      -1, // imul, 104
      -2, // lmul, 105
      -1, // fmul, 106
      -2, // dmul, 107
      -1, // idiv, 108
      -2, // ldiv, 109
      -1, // fdiv, 110
      -2, // ddiv, 111
      -1, // irem, 112
      -2, // lrem, 113
      -1, // frem, 114
      -2, // drem, 115
      0, // ineg, 116
      0, // lneg, 117
      0, // fneg, 118
      0, // dneg, 119
      -1, // ishl, 120
      -1, // lshl, 121
      -1, // ishr, 122
      -1, // lshr, 123
      -1, // iushr, 124
      -1, // lushr, 125
      -1, // iand, 126
      -2, // land, 127
      -1, // ior, 128
      -2, // lor, 129
      -1, // ixor, 130
      -2, // lxor, 131
      0, // iinc, 132
      1, // i2l, 133
      0, // i2f, 134
      1, // i2d, 135
      -1, // l2i, 136
      -1, // l2f, 137
      0, // l2d, 138
      0, // f2i, 139
      1, // f2l, 140
      1, // f2d, 141
      -1, // d2i, 142
      0, // d2l, 143
      -1, // d2f, 144
      0, // i2b, 145
      0, // i2c, 146
      0, // i2s, 147
      -3, // lcmp, 148
      -1, // fcmpl, 149
      -1, // fcmpg, 150
      -3, // dcmpl, 151
      -3, // dcmpg, 152
      -1, // ifeq, 153
      -1, // ifne, 154
      -1, // iflt, 155
      -1, // ifge, 156
      -1, // ifgt, 157
      -1, // ifle, 158
      -2, // if_icmpeq, 159
      -2, // if_icmpne, 160
      -2, // if_icmplt, 161
      -2, // if_icmpge, 162
      -2, // if_icmpgt, 163
      -2, // if_icmple, 164
      -2, // if_acmpeq, 165
      -2, // if_acmpne, 166
      0, // goto, 167
      1, // jsr, 168
      0, // ret, 169
      -1, // tableswitch, 170
      -1, // lookupswitch, 171
      -1, // ireturn, 172
      -2, // lreturn, 173
      -1, // freturn, 174
      -2, // dreturn, 175
      -1, // areturn, 176
      0, // return, 177
      0, // getstatic, 178            depends on the type
      0, // putstatic, 179            depends on the type
      0, // getfield, 180             depends on the type
      0, // putfield, 181             depends on the type
      0, // invokevirtual, 182        depends on the type
      0, // invokespecial, 183        depends on the type
      0, // invokestatic, 184         depends on the type
      0, // invokeinterface, 185      depends on the type
      0, // undefined, 186
      1, // new, 187
      0, // newarray, 188
      0, // anewarray, 189
      0, // arraylength, 190
      -1, // athrow, 191              stack is cleared
      0, // checkcast, 192
      0, // instanceof, 193
      -1, // monitorenter, 194
      -1, // monitorexit, 195
      0, // wide, 196                 depends on the following opcode
      0, // multianewarray, 197       depends on the dimensions
      -1, // ifnull, 198
      -1, // ifnonnull, 199
      0, // goto_w, 200
      1 // jsr_w, 201
  };
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy