pub const ILLEGAL: i16 = -1;
pub const NOP: u8 = 0x00;
pub const ACONST_NULL: u8 = 0x01;
pub const ICONST_M1: u8 = 0x02;
pub const ICONST_0: u8 = 0x03;
pub const ICONST_1: u8 = 0x04;
pub const ICONST_2: u8 = 0x05;
pub const ICONST_3: u8 = 0x06;
pub const ICONST_4: u8 = 0x07;
pub const ICONST_5: u8 = 0x08;
pub const LCONST_0: u8 = 0x09;
pub const LCONST_1: u8 = 0x0A;
pub const FCONST_0: u8 = 0x0B;
pub const FCONST_1: u8 = 0x0C;
pub const FCONST_2: u8 = 0x0D;
pub const DCONST_0: u8 = 0x0E;
pub const DCONST_1: u8 = 0x0F;
pub const BIPUSH: u8 = 0x10;
pub const SIPUSH: u8 = 0x11;
pub const LDC: u8 = 0x12;
pub const LDC_W: u8 = 0x13;
pub const LDC2_W: u8 = 0x14;
pub const ILOAD: u8 = 0x15;
pub const LLOAD: u8 = 0x16;
pub const FLOAD: u8 = 0x17;
pub const DLOAD: u8 = 0x18;
pub const ALOAD: u8 = 0x19;
pub const ILOAD_0: u8 = 0x1A;
pub const ILOAD_1: u8 = 0x1B;
pub const ILOAD_2: u8 = 0x1C;
pub const ILOAD_3: u8 = 0x1D;
pub const LLOAD_0: u8 = 0x1E;
pub const LLOAD_1: u8 = 0x1F;
pub const LLOAD_2: u8 = 0x20;
pub const LLOAD_3: u8 = 0x21;
pub const FLOAD_0: u8 = 0x22;
pub const FLOAD_1: u8 = 0x23;
pub const FLOAD_2: u8 = 0x24;
pub const FLOAD_3: u8 = 0x25;
pub const DLOAD_0: u8 = 0x26;
pub const DLOAD_1: u8 = 0x27;
pub const DLOAD_2: u8 = 0x28;
pub const DLOAD_3: u8 = 0x29;
pub const ALOAD_0: u8 = 0x2A;
pub const ALOAD_1: u8 = 0x2B;
pub const ALOAD_2: u8 = 0x2C;
pub const ALOAD_3: u8 = 0x2D;
pub const IALOAD: u8 = 0x2E;
pub const LALOAD: u8 = 0x2F;
pub const FALOAD: u8 = 0x30;
pub const DALOAD: u8 = 0x31;
pub const AALOAD: u8 = 0x32;
pub const BALOAD: u8 = 0x33;
pub const CALOAD: u8 = 0x34;
pub const SALOAD: u8 = 0x35;
pub const ISTORE: u8 = 0x36;
pub const LSTORE: u8 = 0x37;
pub const FSTORE: u8 = 0x38;
pub const DSTORE: u8 = 0x39;
pub const ASTORE: u8 = 0x3A;
pub const ISTORE_0: u8 = 0x3B;
pub const ISTORE_1: u8 = 0x3C;
pub const ISTORE_2: u8 = 0x3D;
pub const ISTORE_3: u8 = 0x3E;
pub const LSTORE_0: u8 = 0x3F;
pub const LSTORE_1: u8 = 0x40;
pub const LSTORE_2: u8 = 0x41;
pub const LSTORE_3: u8 = 0x42;
pub const FSTORE_0: u8 = 0x43;
pub const FSTORE_1: u8 = 0x44;
pub const FSTORE_2: u8 = 0x45;
pub const FSTORE_3: u8 = 0x46;
pub const DSTORE_0: u8 = 0x47;
pub const DSTORE_1: u8 = 0x48;
pub const DSTORE_2: u8 = 0x49;
pub const DSTORE_3: u8 = 0x4A;
pub const ASTORE_0: u8 = 0x4B;
pub const ASTORE_1: u8 = 0x4C;
pub const ASTORE_2: u8 = 0x4D;
pub const ASTORE_3: u8 = 0x4E;
pub const IASTORE: u8 = 0x4F;
pub const LASTORE: u8 = 0x50;
pub const FASTORE: u8 = 0x51;
pub const DASTORE: u8 = 0x52;
pub const AASTORE: u8 = 0x53;
pub const BASTORE: u8 = 0x54;
pub const CASTORE: u8 = 0x55;
pub const SASTORE: u8 = 0x56;
pub const POP: u8 = 0x57;
pub const POP2: u8 = 0x58;
pub const DUP: u8 = 0x59;
pub const DUP_X1: u8 = 0x5A;
pub const DUP_X2: u8 = 0x5B;
pub const DUP2: u8 = 0x5C;
pub const DUP2_X1: u8 = 0x5D;
pub const DUP2_X2: u8 = 0x5E;
pub const SWAP: u8 = 0x5F;
pub const IADD: u8 = 0x60;
pub const LADD: u8 = 0x61;
pub const FADD: u8 = 0x62;
pub const DADD: u8 = 0x63;
pub const ISUB: u8 = 0x64;
pub const LSUB: u8 = 0x65;
pub const FSUB: u8 = 0x66;
pub const DSUB: u8 = 0x67;
pub const IMUL: u8 = 0x68;
pub const LMUL: u8 = 0x69;
pub const FMUL: u8 = 0x6A;
pub const DMUL: u8 = 0x6B;
pub const IDIV: u8 = 0x6C;
pub const LDIV: u8 = 0x6D;
pub const FDIV: u8 = 0x6E;
pub const DDIV: u8 = 0x6F;
pub const IREM: u8 = 0x70;
pub const LREM: u8 = 0x71;
pub const FREM: u8 = 0x72;
pub const DREM: u8 = 0x73;
pub const INEG: u8 = 0x74;
pub const LNEG: u8 = 0x75;
pub const FNEG: u8 = 0x76;
pub const DNEG: u8 = 0x77;
pub const ISHL: u8 = 0x78;
pub const LSHL: u8 = 0x79;
pub const ISHR: u8 = 0x7A;
pub const LSHR: u8 = 0x7B;
pub const IUSHR: u8 = 0x7C;
pub const LUSHR: u8 = 0x7D;
pub const IAND: u8 = 0x7E;
pub const LAND: u8 = 0x7F;
pub const IOR: u8 = 0x80;
pub const LOR: u8 = 0x81;
pub const IXOR: u8 = 0x82;
pub const LXOR: u8 = 0x83;
pub const IINC: u8 = 0x84;
pub const I2L: u8 = 0x85;
pub const I2F: u8 = 0x86;
pub const I2D: u8 = 0x87;
pub const L2I: u8 = 0x88;
pub const L2F: u8 = 0x89;
pub const L2D: u8 = 0x8A;
pub const F2I: u8 = 0x8B;
pub const F2L: u8 = 0x8C;
pub const F2D: u8 = 0x8D;
pub const D2I: u8 = 0x8E;
pub const D2L: u8 = 0x8F;
pub const D2F: u8 = 0x90;
pub const I2B: u8 = 0x91;
pub const I2C: u8 = 0x92;
pub const I2S: u8 = 0x93;
pub const LCMP: u8 = 0x94;
pub const FCMPL: u8 = 0x95;
pub const FCMPG: u8 = 0x96;
pub const DCMPL: u8 = 0x97;
pub const DCMPG: u8 = 0x98;
pub const IFEQ: u8 = 0x99;
pub const IFNE: u8 = 0x9A;
pub const IFLT: u8 = 0x9B;
pub const IFGE: u8 = 0x9C;
pub const IFGT: u8 = 0x9D;
pub const IFLE: u8 = 0x9E;
pub const IF_ICMPEQ: u8 = 0x9F;
pub const IF_ICMPNE: u8 = 0xA0;
pub const IF_ICMPLT: u8 = 0xA1;
pub const IF_ICMPGE: u8 = 0xA2;
pub const IF_ICMPGT: u8 = 0xA3;
pub const IF_ICMPLE: u8 = 0xA4;
pub const IF_ACMPEQ: u8 = 0xA5;
pub const IF_ACMPNE: u8 = 0xA6;
pub const GOTO: u8 = 0xA7;
pub const JSR: u8 = 0xA8;
pub const RET: u8 = 0xA9;
pub const TABLESWITCH: u8 = 0xAA;
pub const LOOKUPSWITCH: u8 = 0xAB;
pub const IRETURN: u8 = 0xAC;
pub const LRETURN: u8 = 0xAD;
pub const FRETURN: u8 = 0xAE;
pub const DRETURN: u8 = 0xAF;
pub const ARETURN: u8 = 0xB0;
pub const RETURN: u8 = 0xB1;
pub const GETSTATIC: u8 = 0xB2;
pub const PUTSTATIC: u8 = 0xB3;
pub const GETFIELD: u8 = 0xB4;
pub const PUTFIELD: u8 = 0xB5;
pub const INVOKEVIRTUAL: u8 = 0xB6;
pub const INVOKESPECIAL: u8 = 0xB7;
pub const INVOKESTATIC: u8 = 0xB8;
pub const INVOKEINTERFACE: u8 = 0xB9;
pub const INVOKEDYNAMIC: u8 = 0xBA;
pub const NEW: u8 = 0xBB;
pub const NEWARRAY: u8 = 0xBC;
pub const ANEWARRAY: u8 = 0xBD;
pub const ARRAYLENGTH: u8 = 0xBE;
pub const ATHROW: u8 = 0xBF;
pub const CHECKCAST: u8 = 0xC0;
pub const INSTANCEOF: u8 = 0xC1;
pub const MONITORENTER: u8 = 0xC2;
pub const MONITOREXIT: u8 = 0xC3;
pub const WIDE: u8 = 0xC4;
pub const MULTIANEWARRAY: u8 = 0xC5;
pub const IFNULL: u8 = 0xC6;
pub const IFNONNULL: u8 = 0xC7;
pub const GOTO_W: u8 = 0xC8;
pub const JSR_W: u8 = 0xC9;
pub const BREAKPOINT: u8 = 0xCA;
pub const IMPDEP1: u8 = 0xFE;
pub const IMPDEP2: u8 = 0xFF;
pub const NUMBER_OF_JAVA_CODES: u8 = BREAKPOINT + 1;
pub const FAST_AGETFIELD: u8 = NUMBER_OF_JAVA_CODES;
pub const FAST_BGETFIELD: u8 = FAST_AGETFIELD + 1;
pub const FAST_CGETFIELD: u8 = FAST_BGETFIELD + 1;
pub const FAST_DGETFIELD: u8 = FAST_CGETFIELD + 1;
pub const FAST_FGETFIELD: u8 = FAST_DGETFIELD + 1;
pub const FAST_IGETFIELD: u8 = FAST_FGETFIELD + 1;
pub const FAST_LGETFIELD: u8 = FAST_IGETFIELD + 1;
pub const FAST_SGETFIELD: u8 = FAST_LGETFIELD + 1;
pub const FAST_APUTFIELD: u8 = FAST_SGETFIELD + 1;
pub const FAST_BPUTFIELD: u8 = FAST_APUTFIELD + 1;
pub const FAST_ZPUTFIELD: u8 = FAST_BPUTFIELD + 1;
pub const FAST_CPUTFIELD: u8 = FAST_ZPUTFIELD + 1;
pub const FAST_DPUTFIELD: u8 = FAST_CPUTFIELD + 1;
pub const FAST_FPUTFIELD: u8 = FAST_DPUTFIELD + 1;
pub const FAST_IPUTFIELD: u8 = FAST_FPUTFIELD + 1;
pub const FAST_LPUTFIELD: u8 = FAST_IPUTFIELD + 1;
pub const FAST_SPUTFIELD: u8 = FAST_LPUTFIELD + 1;
pub const FAST_ALOAD_0: u8 = FAST_SPUTFIELD + 1;
pub const FAST_IACCESS_0: u8 = FAST_ALOAD_0 + 1;
pub const FAST_AACCESS_0: u8 = FAST_IACCESS_0 + 1;
pub const FAST_FACCESS_0: u8 = FAST_AACCESS_0 + 1;
pub const FAST_ILOAD: u8 = FAST_FACCESS_0 + 1;
pub const FAST_ILOAD2: u8 = FAST_ILOAD + 1;
pub const FAST_ICALOAD: u8 = FAST_ILOAD2 + 1;
pub const FAST_INVOKEVFINAL: u8 = FAST_ICALOAD + 1;
pub const FAST_LINEARSWITCH: u8 = FAST_INVOKEVFINAL + 1;
pub const FAST_BINARYSWITCH: u8 = FAST_LINEARSWITCH + 1;
pub const FAST_ALDC: u8 = FAST_BINARYSWITCH + 1;
pub const FAST_ALDC_W: u8 = FAST_ALDC + 1;
pub const RETURN_REGISTER_FINALIZER: u8 = FAST_ALDC_W + 1;
pub const INVOKEHANDLE: u8 = RETURN_REGISTER_FINALIZER + 1;
pub const NOFAST_GETFIELD: u8 = INVOKEHANDLE + 1;
pub const NOFAST_PUTFIELD: u8 = NOFAST_GETFIELD + 1;
pub const NOFAST_ALOAD_0: u8 = NOFAST_PUTFIELD + 1;
pub const NOFAST_ILOAD: u8 = NOFAST_ALOAD_0 + 1;
pub const SHOULDNOTREACHHERE: u8 = NOFAST_ILOAD + 1;
pub const NUMBER_OF_CODES: u8 = SHOULDNOTREACHHERE + 1;
#[must_use]
pub const fn to_name(opcode: u8) -> &'static str {
match opcode {
NOP => "NOP",
ACONST_NULL => "ACONST_NULL",
ICONST_M1 => "ICONST_M1",
ICONST_0 => "ICONST_0",
ICONST_1 => "ICONST_1",
ICONST_2 => "ICONST_2",
ICONST_3 => "ICONST_3",
ICONST_4 => "ICONST_4",
ICONST_5 => "ICONST_5",
LCONST_0 => "LCONST_0",
LCONST_1 => "LCONST_1",
FCONST_0 => "FCONST_0",
FCONST_1 => "FCONST_1",
FCONST_2 => "FCONST_2",
DCONST_0 => "DCONST_0",
DCONST_1 => "DCONST_1",
BIPUSH => "BIPUSH",
SIPUSH => "SIPUSH",
LDC => "LDC",
LDC_W => "LDC_W",
LDC2_W => "LDC2_W",
ILOAD => "ILOAD",
LLOAD => "LLOAD",
FLOAD => "FLOAD",
DLOAD => "DLOAD",
ALOAD => "ALOAD",
ILOAD_0 => "ILOAD_0",
ILOAD_1 => "ILOAD_1",
ILOAD_2 => "ILOAD_2",
ILOAD_3 => "ILOAD_3",
LLOAD_0 => "LLOAD_0",
LLOAD_1 => "LLOAD_1",
LLOAD_2 => "LLOAD_2",
LLOAD_3 => "LLOAD_3",
FLOAD_0 => "FLOAD_0",
FLOAD_1 => "FLOAD_1",
FLOAD_2 => "FLOAD_2",
FLOAD_3 => "FLOAD_3",
DLOAD_0 => "DLOAD_0",
DLOAD_1 => "DLOAD_1",
DLOAD_2 => "DLOAD_2",
DLOAD_3 => "DLOAD_3",
ALOAD_0 => "ALOAD_0",
ALOAD_1 => "ALOAD_1",
ALOAD_2 => "ALOAD_2",
ALOAD_3 => "ALOAD_3",
IALOAD => "IALOAD",
LALOAD => "LALOAD",
FALOAD => "FALOAD",
DALOAD => "DALOAD",
AALOAD => "AALOAD",
BALOAD => "BALOAD",
CALOAD => "CALOAD",
SALOAD => "SALOAD",
ISTORE => "ISTORE",
LSTORE => "LSTORE",
FSTORE => "FSTORE",
DSTORE => "DSTORE",
ASTORE => "ASTORE",
ISTORE_0 => "ISTORE_0",
ISTORE_1 => "ISTORE_1",
ISTORE_2 => "ISTORE_2",
ISTORE_3 => "ISTORE_3",
LSTORE_0 => "LSTORE_0",
LSTORE_1 => "LSTORE_1",
LSTORE_2 => "LSTORE_2",
LSTORE_3 => "LSTORE_3",
FSTORE_0 => "FSTORE_0",
FSTORE_1 => "FSTORE_1",
FSTORE_2 => "FSTORE_2",
FSTORE_3 => "FSTORE_3",
DSTORE_0 => "DSTORE_0",
DSTORE_1 => "DSTORE_1",
DSTORE_2 => "DSTORE_2",
DSTORE_3 => "DSTORE_3",
ASTORE_0 => "ASTORE_0",
ASTORE_1 => "ASTORE_1",
ASTORE_2 => "ASTORE_2",
ASTORE_3 => "ASTORE_3",
IASTORE => "IASTORE",
LASTORE => "LASTORE",
FASTORE => "FASTORE",
DASTORE => "DASTORE",
AASTORE => "AASTORE",
BASTORE => "BASTORE",
CASTORE => "CASTORE",
SASTORE => "SASTORE",
POP => "POP",
POP2 => "POP2",
DUP => "DUP",
DUP_X1 => "DUP_X1",
DUP_X2 => "DUP_X2",
DUP2 => "DUP2",
DUP2_X1 => "DUP2_X1",
DUP2_X2 => "DUP2_X2",
SWAP => "SWAP",
IADD => "IADD",
LADD => "LADD",
FADD => "FADD",
DADD => "DADD",
ISUB => "ISUB",
LSUB => "LSUB",
FSUB => "FSUB",
DSUB => "DSUB",
IMUL => "IMUL",
LMUL => "LMUL",
FMUL => "FMUL",
DMUL => "DMUL",
IDIV => "IDIV",
LDIV => "LDIV",
FDIV => "FDIV",
DDIV => "DDIV",
IREM => "IREM",
LREM => "LREM",
FREM => "FREM",
DREM => "DREM",
INEG => "INEG",
LNEG => "LNEG",
FNEG => "FNEG",
DNEG => "DNEG",
ISHL => "ISHL",
LSHL => "LSHL",
ISHR => "ISHR",
LSHR => "LSHR",
IUSHR => "IUSHR",
LUSHR => "LUSHR",
IAND => "IAND",
LAND => "LAND",
IOR => "IOR",
LOR => "LOR",
IXOR => "IXOR",
LXOR => "LXOR",
IINC => "IINC",
I2L => "I2L",
I2F => "I2F",
I2D => "I2D",
L2I => "L2I",
L2F => "L2F",
L2D => "L2D",
F2I => "F2I",
F2L => "F2L",
F2D => "F2D",
D2I => "D2I",
D2L => "D2L",
D2F => "D2F",
I2B => "I2B",
I2C => "I2C",
I2S => "I2S",
LCMP => "LCMP",
FCMPL => "FCMPL",
FCMPG => "FCMPG",
DCMPL => "DCMPL",
DCMPG => "DCMPG",
IFEQ => "IFEQ",
IFNE => "IFNE",
IFLT => "IFLT",
IFGE => "IFGE",
IFGT => "IFGT",
IFLE => "IFLE",
IF_ICMPEQ => "IF_ICMPEQ",
IF_ICMPNE => "IF_ICMPNE",
IF_ICMPLT => "IF_ICMPLT",
IF_ICMPGE => "IF_ICMPGE",
IF_ICMPGT => "IF_ICMPGT",
IF_ICMPLE => "IF_ICMPLE",
IF_ACMPEQ => "IF_ACMPEQ",
IF_ACMPNE => "IF_ACMPNE",
GOTO => "GOTO",
JSR => "JSR",
RET => "RET",
TABLESWITCH => "TABLESWITCH",
LOOKUPSWITCH => "LOOKUPSWITCH",
IRETURN => "IRETURN",
LRETURN => "LRETURN",
FRETURN => "FRETURN",
DRETURN => "DRETURN",
ARETURN => "ARETURN",
RETURN => "RETURN",
GETSTATIC => "GETSTATIC",
PUTSTATIC => "PUTSTATIC",
GETFIELD => "GETFIELD",
PUTFIELD => "PUTFIELD",
INVOKEVIRTUAL => "INVOKEVIRTUAL",
INVOKESPECIAL => "INVOKESPECIAL",
INVOKESTATIC => "INVOKESTATIC",
INVOKEINTERFACE => "INVOKEINTERFACE",
INVOKEDYNAMIC => "INVOKEDYNAMIC",
NEW => "NEW",
NEWARRAY => "NEWARRAY",
ANEWARRAY => "ANEWARRAY",
ARRAYLENGTH => "ARRAYLENGTH",
ATHROW => "ATHROW",
CHECKCAST => "CHECKCAST",
INSTANCEOF => "INSTANCEOF",
MONITORENTER => "MONITORENTER",
MONITOREXIT => "MONITOREXIT",
WIDE => "WIDE",
MULTIANEWARRAY => "MULTIANEWARRAY",
IFNULL => "IFNULL",
IFNONNULL => "IFNONNULL",
GOTO_W => "GOTO_W",
JSR_W => "JSR_W",
BREAKPOINT => "BREAKPOINT",
IMPDEP1 => "IMPDEP1",
IMPDEP2 => "IMPDEP2",
FAST_AGETFIELD => "FAST_AGETFIELD",
FAST_BGETFIELD => "FAST_BGETFIELD",
FAST_CGETFIELD => "FAST_CGETFIELD",
FAST_DGETFIELD => "FAST_DGETFIELD",
FAST_FGETFIELD => "FAST_FGETFIELD",
FAST_IGETFIELD => "FAST_IGETFIELD",
FAST_LGETFIELD => "FAST_LGETFIELD",
FAST_SGETFIELD => "FAST_SGETFIELD",
FAST_APUTFIELD => "FAST_APUTFIELD",
FAST_BPUTFIELD => "FAST_BPUTFIELD",
FAST_ZPUTFIELD => "FAST_ZPUTFIELD",
FAST_CPUTFIELD => "FAST_CPUTFIELD",
FAST_DPUTFIELD => "FAST_DPUTFIELD",
FAST_FPUTFIELD => "FAST_FPUTFIELD",
FAST_IPUTFIELD => "FAST_IPUTFIELD",
FAST_LPUTFIELD => "FAST_LPUTFIELD",
FAST_SPUTFIELD => "FAST_SPUTFIELD",
FAST_ALOAD_0 => "FAST_ALOAD_0",
FAST_IACCESS_0 => "FAST_IACCESS_0",
FAST_AACCESS_0 => "FAST_AACCESS_0",
FAST_FACCESS_0 => "FAST_FACCESS_0",
FAST_ILOAD => "FAST_ILOAD",
FAST_ILOAD2 => "FAST_ILOAD2",
FAST_ICALOAD => "FAST_ICALOAD",
FAST_INVOKEVFINAL => "FAST_INVOKEVFINAL",
FAST_LINEARSWITCH => "FAST_LINEARSWITCH",
FAST_BINARYSWITCH => "FAST_BINARYSWITCH",
FAST_ALDC => "FAST_ALDC",
FAST_ALDC_W => "FAST_ALDC_W",
RETURN_REGISTER_FINALIZER => "RETURN_REGISTER_FINALIZER",
INVOKEHANDLE => "INVOKEHANDLE",
NOFAST_GETFIELD => "NOFAST_GETFIELD",
NOFAST_PUTFIELD => "NOFAST_PUTFIELD",
NOFAST_ALOAD_0 => "NOFAST_ALOAD_0",
NOFAST_ILOAD => "NOFAST_ILOAD",
SHOULDNOTREACHHERE => "SHOULDNOTREACHHERE",
_ => "UNKNOWN",
}
}