/// <summary> /// Initializes this instance. /// </summary> /// <returns></returns> public static BaseCILInstruction[] Initialize() { BaseCILInstruction[] opcodeMap = new BaseCILInstruction[MaxOpCodeValue]; /* 0x000 */ opcodeMap[(int)OpCode.Nop] = Nop; /* 0x001 */ opcodeMap[(int)OpCode.Break] = Break; /* 0x002 */ opcodeMap[(int)OpCode.Ldarg_0] = Ldarg_0; /* 0x003 */ opcodeMap[(int)OpCode.Ldarg_1] = Ldarg_1; /* 0x004 */ opcodeMap[(int)OpCode.Ldarg_2] = Ldarg_2; /* 0x005 */ opcodeMap[(int)OpCode.Ldarg_3] = Ldarg_3; /* 0x006 */ opcodeMap[(int)OpCode.Ldloc_0] = Ldloc_0; /* 0x007 */ opcodeMap[(int)OpCode.Ldloc_1] = Ldloc_1; /* 0x008 */ opcodeMap[(int)OpCode.Ldloc_2] = Ldloc_2; /* 0x009 */ opcodeMap[(int)OpCode.Ldloc_3] = Ldloc_3; /* 0x00A */ opcodeMap[(int)OpCode.Stloc_0] = Stloc_0; /* 0x00B */ opcodeMap[(int)OpCode.Stloc_1] = Stloc_1; /* 0x00C */ opcodeMap[(int)OpCode.Stloc_2] = Stloc_2; /* 0x00D */ opcodeMap[(int)OpCode.Stloc_3] = Stloc_3; /* 0x00E */ opcodeMap[(int)OpCode.Ldarg_s] = Ldarg_s; /* 0x00F */ opcodeMap[(int)OpCode.Ldarga_s] = Ldarga_s; /* 0x010 */ opcodeMap[(int)OpCode.Starg_s] = Starg_s; /* 0x011 */ opcodeMap[(int)OpCode.Ldloc_s] = Ldloc_s; /* 0x012 */ opcodeMap[(int)OpCode.Ldloca_s] = Ldloca_s; /* 0x013 */ opcodeMap[(int)OpCode.Stloc_s] = Stloc_s; /* 0x014 */ opcodeMap[(int)OpCode.Ldnull] = Ldnull; /* 0x015 */ opcodeMap[(int)OpCode.Ldc_i4_m1] = Ldc_i4_m1; /* 0x016 */ opcodeMap[(int)OpCode.Ldc_i4_0] = Ldc_i4_0; /* 0x017 */ opcodeMap[(int)OpCode.Ldc_i4_1] = Ldc_i4_1; /* 0x018 */ opcodeMap[(int)OpCode.Ldc_i4_2] = Ldc_i4_2; /* 0x019 */ opcodeMap[(int)OpCode.Ldc_i4_3] = Ldc_i4_3; /* 0x01A */ opcodeMap[(int)OpCode.Ldc_i4_4] = Ldc_i4_4; /* 0x01B */ opcodeMap[(int)OpCode.Ldc_i4_5] = Ldc_i4_5; /* 0x01C */ opcodeMap[(int)OpCode.Ldc_i4_6] = Ldc_i4_6; /* 0x01D */ opcodeMap[(int)OpCode.Ldc_i4_7] = Ldc_i4_7; /* 0x01E */ opcodeMap[(int)OpCode.Ldc_i4_8] = Ldc_i4_8; /* 0x01F */ opcodeMap[(int)OpCode.Ldc_i4_s] = Ldc_i4_s; /* 0x020 */ opcodeMap[(int)OpCode.Ldc_i4] = Ldc_i4; /* 0x021 */ opcodeMap[(int)OpCode.Ldc_i8] = Ldc_i8; /* 0x022 */ opcodeMap[(int)OpCode.Ldc_r4] = Ldc_r4; /* 0x023 */ opcodeMap[(int)OpCode.Ldc_r8] = Ldc_r8; /* 0x024 is undefined */ /* 0x025 */ opcodeMap[(int)OpCode.Dup] = Dup; /* 0x026 */ opcodeMap[(int)OpCode.Pop] = Pop; /* 0x027 */ opcodeMap[(int)OpCode.Jmp] = Jmp; /* 0x028 */ opcodeMap[(int)OpCode.Call] = Call; /* 0x029 */ opcodeMap[(int)OpCode.Calli] = Calli; /* 0x02A */ opcodeMap[(int)OpCode.Ret] = Ret; /* 0x02B */ opcodeMap[(int)OpCode.Br_s] = Br_s; /* 0x02C */ opcodeMap[(int)OpCode.Brfalse_s] = Brfalse_s; /* 0x02D */ opcodeMap[(int)OpCode.Brtrue_s] = Brtrue_s; /* 0x02E */ opcodeMap[(int)OpCode.Beq_s] = Beq_s; /* 0x02F */ opcodeMap[(int)OpCode.Bge_s] = Bge_s; /* 0x030 */ opcodeMap[(int)OpCode.Bgt_s] = Bgt_s; /* 0x031 */ opcodeMap[(int)OpCode.Ble_s] = Ble_s; /* 0x032 */ opcodeMap[(int)OpCode.Blt_s] = Blt_s; /* 0x033 */ opcodeMap[(int)OpCode.Bne_un_s] = Bne_un_s; /* 0x034 */ opcodeMap[(int)OpCode.Bge_un_s] = Bge_un_s; /* 0x035 */ opcodeMap[(int)OpCode.Bgt_un_s] = Bgt_un_s; /* 0x036 */ opcodeMap[(int)OpCode.Ble_un_s] = Ble_un_s; /* 0x037 */ opcodeMap[(int)OpCode.Blt_un_s] = Blt_un_s; /* 0x038 */ opcodeMap[(int)OpCode.Br] = Br; /* 0x039 */ opcodeMap[(int)OpCode.Brfalse] = Brfalse; /* 0x03A */ opcodeMap[(int)OpCode.Brtrue] = Brtrue; /* 0x03B */ opcodeMap[(int)OpCode.Beq] = Beq; /* 0x03C */ opcodeMap[(int)OpCode.Bge] = Bge; /* 0x03D */ opcodeMap[(int)OpCode.Bgt] = Bgt; /* 0x03E */ opcodeMap[(int)OpCode.Ble] = Ble; /* 0x03F */ opcodeMap[(int)OpCode.Blt] = Blt; /* 0x040 */ opcodeMap[(int)OpCode.Bne_un] = Bne_un; /* 0x041 */ opcodeMap[(int)OpCode.Bge_un] = Bge_un; /* 0x042 */ opcodeMap[(int)OpCode.Bgt_un] = Bgt_un; /* 0x043 */ opcodeMap[(int)OpCode.Ble_un] = Ble_un; /* 0x044 */ opcodeMap[(int)OpCode.Blt_un] = Blt_un; /* 0x045 */ opcodeMap[(int)OpCode.Switch] = Switch; /* 0x046 */ opcodeMap[(int)OpCode.Ldind_i1] = Ldind_i1; /* 0x047 */ opcodeMap[(int)OpCode.Ldind_u1] = Ldind_u1; /* 0x048 */ opcodeMap[(int)OpCode.Ldind_i2] = Ldind_i2; /* 0x049 */ opcodeMap[(int)OpCode.Ldind_u2] = Ldind_u2; /* 0x04A */ opcodeMap[(int)OpCode.Ldind_i4] = Ldind_i4; /* 0x04B */ opcodeMap[(int)OpCode.Ldind_u4] = Ldind_u4; /* 0x04C */ opcodeMap[(int)OpCode.Ldind_i8] = Ldind_i8; /* 0x04D */ opcodeMap[(int)OpCode.Ldind_i] = Ldind_i; /* 0x04E */ opcodeMap[(int)OpCode.Ldind_r4] = Ldind_r4; /* 0x04F */ opcodeMap[(int)OpCode.Ldind_r8] = Ldind_r8; /* 0x050 */ opcodeMap[(int)OpCode.Ldind_ref] = Ldind_ref; /* 0x051 */ opcodeMap[(int)OpCode.Stind_ref] = Stind_ref; /* 0x052 */ opcodeMap[(int)OpCode.Stind_i1] = Stind_i1; /* 0x053 */ opcodeMap[(int)OpCode.Stind_i2] = Stind_i2; /* 0x054 */ opcodeMap[(int)OpCode.Stind_i4] = Stind_i4; /* 0x055 */ opcodeMap[(int)OpCode.Stind_i8] = Stind_i8; /* 0x056 */ opcodeMap[(int)OpCode.Stind_r4] = Stind_r4; /* 0x057 */ opcodeMap[(int)OpCode.Stind_r8] = Stind_r8; /* 0x058 */ opcodeMap[(int)OpCode.Add] = Add; /* 0x059 */ opcodeMap[(int)OpCode.Sub] = Sub; /* 0x05A */ opcodeMap[(int)OpCode.Mul] = Mul; /* 0x05B */ opcodeMap[(int)OpCode.Div] = Div; /* 0x05C */ opcodeMap[(int)OpCode.Div_un] = Div_un; /* 0x05D */ opcodeMap[(int)OpCode.Rem] = Rem; /* 0x05E */ opcodeMap[(int)OpCode.Rem_un] = Rem_un; /* 0x05F */ opcodeMap[(int)OpCode.And] = And; /* 0x060 */ opcodeMap[(int)OpCode.Or] = Or; /* 0x061 */ opcodeMap[(int)OpCode.Xor] = Xor; /* 0x062 */ opcodeMap[(int)OpCode.Shl] = Shl; /* 0x063 */ opcodeMap[(int)OpCode.Shr] = Shr; /* 0x064 */ opcodeMap[(int)OpCode.Shr_un] = Shr_un; /* 0x065 */ opcodeMap[(int)OpCode.Neg] = Neg; /* 0x066 */ opcodeMap[(int)OpCode.Not] = Not; /* 0x067 */ opcodeMap[(int)OpCode.Conv_i1] = Conv_i1; /* 0x068 */ opcodeMap[(int)OpCode.Conv_i2] = Conv_i2; /* 0x069 */ opcodeMap[(int)OpCode.Conv_i4] = Conv_i4; /* 0x06A */ opcodeMap[(int)OpCode.Conv_i8] = Conv_i8; /* 0x06B */ opcodeMap[(int)OpCode.Conv_r4] = Conv_r4; /* 0x06C */ opcodeMap[(int)OpCode.Conv_r8] = Conv_r8; /* 0x06D */ opcodeMap[(int)OpCode.Conv_u4] = Conv_u4; /* 0x06E */ opcodeMap[(int)OpCode.Conv_u8] = Conv_u8; /* 0x06F */ opcodeMap[(int)OpCode.Callvirt] = Callvirt; /* 0x070 */ opcodeMap[(int)OpCode.Cpobj] = Cpobj; /* 0x071 */ opcodeMap[(int)OpCode.Ldobj] = Ldobj; /* 0x072 */ opcodeMap[(int)OpCode.Ldstr] = Ldstr; /* 0x073 */ opcodeMap[(int)OpCode.Newobj] = Newobj; /* 0x074 */ opcodeMap[(int)OpCode.Castclass] = Castclass; /* 0x075 */ opcodeMap[(int)OpCode.Isinst] = Isinst; /* 0x076 */ opcodeMap[(int)OpCode.Conv_r_un] = Conv_r_un; /* Opcodes 0x077-0x078 undefined */ /* 0x079 */ opcodeMap[(int)OpCode.Unbox] = Unbox; /* 0x07A */ opcodeMap[(int)OpCode.Throw] = Throw; /* 0x07B */ opcodeMap[(int)OpCode.Ldfld] = Ldfld; /* 0x07C */ opcodeMap[(int)OpCode.Ldflda] = Ldflda; /* 0x07D */ opcodeMap[(int)OpCode.Stfld] = Stfld; /* 0x07E */ opcodeMap[(int)OpCode.Ldsfld] = Ldsfld; /* 0x07F */ opcodeMap[(int)OpCode.Ldsflda] = Ldsflda; /* 0x080 */ opcodeMap[(int)OpCode.Stsfld] = Stsfld; /* 0x081 */ opcodeMap[(int)OpCode.Stobj] = Stobj; /* 0x082 */ opcodeMap[(int)OpCode.Conv_ovf_i1_un] = Conv_ovf_i1_un; /* 0x083 */ opcodeMap[(int)OpCode.Conv_ovf_i2_un] = Conv_ovf_i2_un; /* 0x084 */ opcodeMap[(int)OpCode.Conv_ovf_i4_un] = Conv_ovf_i4_un; /* 0x085 */ opcodeMap[(int)OpCode.Conv_ovf_i8_un] = Conv_ovf_i8_un; /* 0x086 */ opcodeMap[(int)OpCode.Conv_ovf_u1_un] = Conv_ovf_u1_un; /* 0x087 */ opcodeMap[(int)OpCode.Conv_ovf_u2_un] = Conv_ovf_u2_un; /* 0x088 */ opcodeMap[(int)OpCode.Conv_ovf_u4_un] = Conv_ovf_u4_un; /* 0x089 */ opcodeMap[(int)OpCode.Conv_ovf_u8_un] = Conv_ovf_u8_un; /* 0x08A */ opcodeMap[(int)OpCode.Conv_ovf_i_un] = Conv_ovf_i_un; /* 0x08B */ opcodeMap[(int)OpCode.Conv_ovf_u_un] = Conv_ovf_u_un; /* 0x08C */ opcodeMap[(int)OpCode.Box] = Box; /* 0x08D */ opcodeMap[(int)OpCode.Newarr] = Newarr; /* 0x08E */ opcodeMap[(int)OpCode.Ldlen] = Ldlen; /* 0x08F */ opcodeMap[(int)OpCode.Ldelema] = Ldelema; /* 0x090 */ opcodeMap[(int)OpCode.Ldelem_i1] = Ldelem_i1; /* 0x091 */ opcodeMap[(int)OpCode.Ldelem_u1] = Ldelem_u1; /* 0x092 */ opcodeMap[(int)OpCode.Ldelem_i2] = Ldelem_i2; /* 0x093 */ opcodeMap[(int)OpCode.Ldelem_u2] = Ldelem_u2; /* 0x094 */ opcodeMap[(int)OpCode.Ldelem_i4] = Ldelem_i4; /* 0x095 */ opcodeMap[(int)OpCode.Ldelem_u4] = Ldelem_u4; /* 0x096 */ opcodeMap[(int)OpCode.Ldelem_i8] = Ldelem_i8; /* 0x097 */ opcodeMap[(int)OpCode.Ldelem_i] = Ldelem_i; /* 0x098 */ opcodeMap[(int)OpCode.Ldelem_r4] = Ldelem_r4; /* 0x099 */ opcodeMap[(int)OpCode.Ldelem_r8] = Ldelem_r8; /* 0x09A */ opcodeMap[(int)OpCode.Ldelem_ref] = Ldelem_ref; /* 0x09B */ opcodeMap[(int)OpCode.Stelem_i] = Stelem_i; /* 0x09C */ opcodeMap[(int)OpCode.Stelem_i1] = Stelem_i1; /* 0x09D */ opcodeMap[(int)OpCode.Stelem_i2] = Stelem_i2; /* 0x09E */ opcodeMap[(int)OpCode.Stelem_i4] = Stelem_i4; /* 0x09F */ opcodeMap[(int)OpCode.Stelem_i8] = Stelem_i8; /* 0x0A0 */ opcodeMap[(int)OpCode.Stelem_r4] = Stelem_r4; /* 0x0A1 */ opcodeMap[(int)OpCode.Stelem_r8] = Stelem_r8; /* 0x0A2 */ opcodeMap[(int)OpCode.Stelem_ref] = Stelem_ref; /* 0x0A3 */ opcodeMap[(int)OpCode.Ldelem] = Ldelem; /* 0x0A4 */ opcodeMap[(int)OpCode.Stelem] = Stelem; /* 0x0A5 */ opcodeMap[(int)OpCode.Unbox_any] = Unbox_any; /* Opcodes 0x0A6-0x0B2 are undefined */ /* 0x0B3 */ opcodeMap[(int)OpCode.Conv_ovf_i1] = Conv_ovf_i1; /* 0x0B4 */ opcodeMap[(int)OpCode.Conv_ovf_u1] = Conv_ovf_u1; /* 0x0B5 */ opcodeMap[(int)OpCode.Conv_ovf_i2] = Conv_ovf_i2; /* 0x0B6 */ opcodeMap[(int)OpCode.Conv_ovf_u2] = Conv_ovf_u2; /* 0x0B7 */ opcodeMap[(int)OpCode.Conv_ovf_i4] = Conv_ovf_i4; /* 0x0B8 */ opcodeMap[(int)OpCode.Conv_ovf_u4] = Conv_ovf_u4; /* 0x0B9 */ opcodeMap[(int)OpCode.Conv_ovf_i8] = Conv_ovf_i8; /* 0x0BA */ opcodeMap[(int)OpCode.Conv_ovf_u8] = Conv_ovf_u8; /* Opcodes 0x0BB-0x0C1 are undefined */ /* 0x0C2 */ opcodeMap[(int)OpCode.Refanyval] = Refanyval; /* 0x0C3 */ opcodeMap[(int)OpCode.Ckfinite] = Ckfinite; /* Opcodes 0x0C4-0x0C5 are undefined */ /* 0x0C6 */ opcodeMap[(int)OpCode.Mkrefany] = Mkrefany; /* Opcodes 0x0C7-0x0CF are reserved */ /* 0x0D0 */ opcodeMap[(int)OpCode.Ldtoken] = Ldtoken; /* 0x0D1 */ opcodeMap[(int)OpCode.Conv_u2] = Conv_u2; /* 0x0D2 */ opcodeMap[(int)OpCode.Conv_u1] = Conv_u1; /* 0x0D3 */ opcodeMap[(int)OpCode.Conv_i] = Conv_i; /* 0x0D4 */ opcodeMap[(int)OpCode.Conv_ovf_i] = Conv_ovf_i; /* 0x0D5 */ opcodeMap[(int)OpCode.Conv_ovf_u] = Conv_ovf_u; /* 0x0D6 */ opcodeMap[(int)OpCode.Add_ovf] = Add_ovf; /* 0x0D7 */ opcodeMap[(int)OpCode.Add_ovf_un] = Add_ovf_un; /* 0x0D8 */ opcodeMap[(int)OpCode.Mul_ovf] = Mul_ovf; /* 0x0D9 */ opcodeMap[(int)OpCode.Mul_ovf_un] = Mul_ovf_un; /* 0x0DA */ opcodeMap[(int)OpCode.Sub_ovf] = Sub_ovf; /* 0x0DB */ opcodeMap[(int)OpCode.Sub_ovf_un] = Sub_ovf_un; /* 0x0DC */ opcodeMap[(int)OpCode.Endfinally] = Endfinally; /* 0x0DD */ opcodeMap[(int)OpCode.Leave] = Leave; /* 0x0DE */ opcodeMap[(int)OpCode.Leave_s] = Leave_s; /* 0x0DF */ opcodeMap[(int)OpCode.Stind_i] = Stind_i; /* 0x0E0 */ opcodeMap[(int)OpCode.Conv_u] = Conv_u; /* Opcodes 0xE1-0xFF are reserved */ /* 0x100 */ opcodeMap[(int)OpCode.Arglist] = Arglist; /* 0x101 */ opcodeMap[(int)OpCode.Ceq] = Ceq; /* 0x102 */ opcodeMap[(int)OpCode.Cgt] = Cgt; /* 0x103 */ opcodeMap[(int)OpCode.Cgt_un] = Cgt_un; /* 0x104 */ opcodeMap[(int)OpCode.Clt] = Clt; /* 0x105 */ opcodeMap[(int)OpCode.Clt_un] = Clt_un; /* 0x106 */ opcodeMap[(int)OpCode.Ldftn] = Ldftn; /* 0x107 */ opcodeMap[(int)OpCode.Ldvirtftn] = Ldvirtftn; /* Opcode 0x108 is undefined. */ /* 0x109 */ opcodeMap[(int)OpCode.Ldarg] = Ldarg; /* 0x10A */ opcodeMap[(int)OpCode.Ldarga] = Ldarga; /* 0x10B */ opcodeMap[(int)OpCode.Starg] = Starg; /* 0x10C */ opcodeMap[(int)OpCode.Ldloc] = Ldloc; /* 0x10D */ opcodeMap[(int)OpCode.Ldloca] = Ldloca; /* 0x10E */ opcodeMap[(int)OpCode.Stloc] = Stloc; /* 0x10F */ opcodeMap[(int)OpCode.Localalloc] = Localalloc; /* Opcode 0x110 is undefined */ /* 0x111 */ opcodeMap[(int)OpCode.Endfilter] = Endfilter; /* 0x112 */ opcodeMap[(int)OpCode.PreUnaligned] = PreUnaligned; /* 0x113 */ opcodeMap[(int)OpCode.PreVolatile] = PreVolatile; /* 0x114 */ opcodeMap[(int)OpCode.PreTail] = PreTail; /* 0x115 */ opcodeMap[(int)OpCode.InitObj] = InitObj; /* 0x116 */ opcodeMap[(int)OpCode.PreConstrained] = PreConstrained; /* 0x117 */ opcodeMap[(int)OpCode.Cpblk] = Cpblk; /* 0x118 */ opcodeMap[(int)OpCode.Initblk] = Initblk; /* 0x119 */ opcodeMap[(int)OpCode.PreNo] = PreNo; /* 0x11A */ opcodeMap[(int)OpCode.Rethrow] = Rethrow; /* Opcode 0x11B is undefined */ /* 0x11C */ opcodeMap[(int)OpCode.Sizeof] = Sizeof; /* 0x11D */ opcodeMap[(int)OpCode.Refanytype] = Refanytype; /* 0x11E */ opcodeMap[(int)OpCode.PreReadOnly] = PreReadOnly; return(opcodeMap); }
/// <summary> /// Initializes this instance. /// </summary> /// <returns></returns> public static BaseCILInstruction[] Initialize() { BaseCILInstruction[] opcodeMap = new BaseCILInstruction[0x120]; /* 0x000 */ opcodeMap[(int)OpCode.Nop] = new NopInstruction(OpCode.Nop); /* 0x001 */ opcodeMap[(int)OpCode.Break] = new BreakInstruction(OpCode.Break); /* 0x002 */ opcodeMap[(int)OpCode.Ldarg_0] = new LdargInstruction(OpCode.Ldarg_0); /* 0x003 */ opcodeMap[(int)OpCode.Ldarg_1] = new LdargInstruction(OpCode.Ldarg_1); /* 0x004 */ opcodeMap[(int)OpCode.Ldarg_2] = new LdargInstruction(OpCode.Ldarg_2); /* 0x005 */ opcodeMap[(int)OpCode.Ldarg_3] = new LdargInstruction(OpCode.Ldarg_3); /* 0x006 */ opcodeMap[(int)OpCode.Ldloc_0] = new LdlocInstruction(OpCode.Ldloc_0); /* 0x007 */ opcodeMap[(int)OpCode.Ldloc_1] = new LdlocInstruction(OpCode.Ldloc_1); /* 0x008 */ opcodeMap[(int)OpCode.Ldloc_2] = new LdlocInstruction(OpCode.Ldloc_2); /* 0x009 */ opcodeMap[(int)OpCode.Ldloc_3] = new LdlocInstruction(OpCode.Ldloc_3); /* 0x00A */ opcodeMap[(int)OpCode.Stloc_0] = new StlocInstruction(OpCode.Stloc_0); /* 0x00B */ opcodeMap[(int)OpCode.Stloc_1] = new StlocInstruction(OpCode.Stloc_1); /* 0x00C */ opcodeMap[(int)OpCode.Stloc_2] = new StlocInstruction(OpCode.Stloc_2); /* 0x00D */ opcodeMap[(int)OpCode.Stloc_3] = new StlocInstruction(OpCode.Stloc_3); /* 0x00E */ opcodeMap[(int)OpCode.Ldarg_s] = new LdargInstruction(OpCode.Ldarg_s); /* 0x00F */ opcodeMap[(int)OpCode.Ldarga_s] = new LdargaInstruction(OpCode.Ldarga_s); /* 0x010 */ opcodeMap[(int)OpCode.Starg_s] = new StargInstruction(OpCode.Starg_s); /* 0x011 */ opcodeMap[(int)OpCode.Ldloc_s] = new LdlocInstruction(OpCode.Ldloc_s); /* 0x012 */ opcodeMap[(int)OpCode.Ldloca_s] = new LdlocaInstruction(OpCode.Ldloca_s); /* 0x013 */ opcodeMap[(int)OpCode.Stloc_s] = new StlocInstruction(OpCode.Stloc_s); /* 0x014 */ opcodeMap[(int)OpCode.Ldnull] = new LdcInstruction(OpCode.Ldnull); /* 0x015 */ opcodeMap[(int)OpCode.Ldc_i4_m1] = new LdcInstruction(OpCode.Ldc_i4_m1); /* 0x016 */ opcodeMap[(int)OpCode.Ldc_i4_0] = new LdcInstruction(OpCode.Ldc_i4_0); /* 0x017 */ opcodeMap[(int)OpCode.Ldc_i4_1] = new LdcInstruction(OpCode.Ldc_i4_1); /* 0x018 */ opcodeMap[(int)OpCode.Ldc_i4_2] = new LdcInstruction(OpCode.Ldc_i4_2); /* 0x019 */ opcodeMap[(int)OpCode.Ldc_i4_3] = new LdcInstruction(OpCode.Ldc_i4_3); /* 0x01A */ opcodeMap[(int)OpCode.Ldc_i4_4] = new LdcInstruction(OpCode.Ldc_i4_4); /* 0x01B */ opcodeMap[(int)OpCode.Ldc_i4_5] = new LdcInstruction(OpCode.Ldc_i4_5); /* 0x01C */ opcodeMap[(int)OpCode.Ldc_i4_6] = new LdcInstruction(OpCode.Ldc_i4_6); /* 0x01D */ opcodeMap[(int)OpCode.Ldc_i4_7] = new LdcInstruction(OpCode.Ldc_i4_7); /* 0x01E */ opcodeMap[(int)OpCode.Ldc_i4_8] = new LdcInstruction(OpCode.Ldc_i4_8); /* 0x01F */ opcodeMap[(int)OpCode.Ldc_i4_s] = new LdcInstruction(OpCode.Ldc_i4_s); /* 0x020 */ opcodeMap[(int)OpCode.Ldc_i4] = new LdcInstruction(OpCode.Ldc_i4); /* 0x021 */ opcodeMap[(int)OpCode.Ldc_i8] = new LdcInstruction(OpCode.Ldc_i8); /* 0x022 */ opcodeMap[(int)OpCode.Ldc_r4] = new LdcInstruction(OpCode.Ldc_r4); /* 0x023 */ opcodeMap[(int)OpCode.Ldc_r8] = new LdcInstruction(OpCode.Ldc_r8); /* 0x024 is undefined */ /* 0x025 */ opcodeMap[(int)OpCode.Dup] = new DupInstruction(OpCode.Dup); /* 0x026 */ opcodeMap[(int)OpCode.Pop] = new PopInstruction(OpCode.Pop); /* 0x027 */ opcodeMap[(int)OpCode.Jmp] = new JumpInstruction(OpCode.Jmp); /* 0x028 */ opcodeMap[(int)OpCode.Call] = new CallInstruction(OpCode.Call); /* 0x029 */ opcodeMap[(int)OpCode.Calli] = new CalliInstruction(OpCode.Calli); /* 0x02A */ opcodeMap[(int)OpCode.Ret] = new ReturnInstruction(OpCode.Ret); /* 0x02B */ opcodeMap[(int)OpCode.Br_s] = new BranchInstruction(OpCode.Br_s); /* 0x02C */ opcodeMap[(int)OpCode.Brfalse_s] = new UnaryBranchInstruction(OpCode.Brfalse_s); /* 0x02D */ opcodeMap[(int)OpCode.Brtrue_s] = new UnaryBranchInstruction(OpCode.Brtrue_s); /* 0x02E */ opcodeMap[(int)OpCode.Beq_s] = new BinaryBranchInstruction(OpCode.Beq_s); /* 0x02F */ opcodeMap[(int)OpCode.Bge_s] = new BinaryBranchInstruction(OpCode.Bge_s); /* 0x030 */ opcodeMap[(int)OpCode.Bgt_s] = new BinaryBranchInstruction(OpCode.Bgt_s); /* 0x031 */ opcodeMap[(int)OpCode.Ble_s] = new BinaryBranchInstruction(OpCode.Ble_s); /* 0x032 */ opcodeMap[(int)OpCode.Blt_s] = new BinaryBranchInstruction(OpCode.Blt_s); /* 0x033 */ opcodeMap[(int)OpCode.Bne_un_s] = new BinaryBranchInstruction(OpCode.Bne_un_s); /* 0x034 */ opcodeMap[(int)OpCode.Bge_un_s] = new BinaryBranchInstruction(OpCode.Bge_un_s); /* 0x035 */ opcodeMap[(int)OpCode.Bgt_un_s] = new BinaryBranchInstruction(OpCode.Bgt_un_s); /* 0x036 */ opcodeMap[(int)OpCode.Ble_un_s] = new BinaryBranchInstruction(OpCode.Ble_un_s); /* 0x037 */ opcodeMap[(int)OpCode.Blt_un_s] = new BinaryBranchInstruction(OpCode.Blt_un_s); /* 0x038 */ opcodeMap[(int)OpCode.Br] = new BranchInstruction(OpCode.Br); /* 0x039 */ opcodeMap[(int)OpCode.Brfalse] = new UnaryBranchInstruction(OpCode.Brfalse); /* 0x03A */ opcodeMap[(int)OpCode.Brtrue] = new UnaryBranchInstruction(OpCode.Brtrue); /* 0x03B */ opcodeMap[(int)OpCode.Beq] = new BinaryBranchInstruction(OpCode.Beq); /* 0x03C */ opcodeMap[(int)OpCode.Bge] = new BinaryBranchInstruction(OpCode.Bge); /* 0x03D */ opcodeMap[(int)OpCode.Bgt] = new BinaryBranchInstruction(OpCode.Bgt); /* 0x03E */ opcodeMap[(int)OpCode.Ble] = new BinaryBranchInstruction(OpCode.Ble); /* 0x03F */ opcodeMap[(int)OpCode.Blt] = new BinaryBranchInstruction(OpCode.Blt); /* 0x040 */ opcodeMap[(int)OpCode.Bne_un] = new BinaryBranchInstruction(OpCode.Bne_un); /* 0x041 */ opcodeMap[(int)OpCode.Bge_un] = new BinaryBranchInstruction(OpCode.Bge_un); /* 0x042 */ opcodeMap[(int)OpCode.Bgt_un] = new BinaryBranchInstruction(OpCode.Bgt_un); /* 0x043 */ opcodeMap[(int)OpCode.Ble_un] = new BinaryBranchInstruction(OpCode.Ble_un); /* 0x044 */ opcodeMap[(int)OpCode.Blt_un] = new BinaryBranchInstruction(OpCode.Blt_un); /* 0x045 */ opcodeMap[(int)OpCode.Switch] = new SwitchInstruction(OpCode.Switch); /* 0x046 */ opcodeMap[(int)OpCode.Ldind_i1] = new LdobjInstruction(OpCode.Ldind_i1); /* 0x047 */ opcodeMap[(int)OpCode.Ldind_u1] = new LdobjInstruction(OpCode.Ldind_u1); /* 0x048 */ opcodeMap[(int)OpCode.Ldind_i2] = new LdobjInstruction(OpCode.Ldind_i2); /* 0x049 */ opcodeMap[(int)OpCode.Ldind_u2] = new LdobjInstruction(OpCode.Ldind_u2); /* 0x04A */ opcodeMap[(int)OpCode.Ldind_i4] = new LdobjInstruction(OpCode.Ldind_i4); /* 0x04B */ opcodeMap[(int)OpCode.Ldind_u4] = new LdobjInstruction(OpCode.Ldind_u4); /* 0x04C */ opcodeMap[(int)OpCode.Ldind_i8] = new LdobjInstruction(OpCode.Ldind_i8); /* 0x04D */ opcodeMap[(int)OpCode.Ldind_i] = new LdobjInstruction(OpCode.Ldind_i); /* 0x04E */ opcodeMap[(int)OpCode.Ldind_r4] = new LdobjInstruction(OpCode.Ldind_r4); /* 0x04F */ opcodeMap[(int)OpCode.Ldind_r8] = new LdobjInstruction(OpCode.Ldind_r8); /* 0x050 */ opcodeMap[(int)OpCode.Ldind_ref] = new LdobjInstruction(OpCode.Ldind_ref); /* 0x051 */ opcodeMap[(int)OpCode.Stind_ref] = new StobjInstruction(OpCode.Stind_ref); /* 0x052 */ opcodeMap[(int)OpCode.Stind_i1] = new StobjInstruction(OpCode.Stind_i1); /* 0x053 */ opcodeMap[(int)OpCode.Stind_i2] = new StobjInstruction(OpCode.Stind_i2); /* 0x054 */ opcodeMap[(int)OpCode.Stind_i4] = new StobjInstruction(OpCode.Stind_i4); /* 0x055 */ opcodeMap[(int)OpCode.Stind_i8] = new StobjInstruction(OpCode.Stind_i8); /* 0x056 */ opcodeMap[(int)OpCode.Stind_r4] = new StobjInstruction(OpCode.Stind_r4); /* 0x057 */ opcodeMap[(int)OpCode.Stind_r8] = new StobjInstruction(OpCode.Stind_r8); /* 0x058 */ opcodeMap[(int)OpCode.Add] = new AddInstruction(OpCode.Add); /* 0x059 */ opcodeMap[(int)OpCode.Sub] = new SubInstruction(OpCode.Sub); /* 0x05A */ opcodeMap[(int)OpCode.Mul] = new MulInstruction(OpCode.Mul); /* 0x05B */ opcodeMap[(int)OpCode.Div] = new DivInstruction(OpCode.Div); /* 0x05C */ opcodeMap[(int)OpCode.Div_un] = new BinaryLogicInstruction(OpCode.Div_un); /* 0x05D */ opcodeMap[(int)OpCode.Rem] = new RemInstruction(OpCode.Rem); /* 0x05E */ opcodeMap[(int)OpCode.Rem_un] = new BinaryLogicInstruction(OpCode.Rem_un); /* 0x05F */ opcodeMap[(int)OpCode.And] = new BinaryLogicInstruction(OpCode.And); /* 0x060 */ opcodeMap[(int)OpCode.Or] = new BinaryLogicInstruction(OpCode.Or); /* 0x061 */ opcodeMap[(int)OpCode.Xor] = new BinaryLogicInstruction(OpCode.Xor); /* 0x062 */ opcodeMap[(int)OpCode.Shl] = new ShiftInstruction(OpCode.Shl); /* 0x063 */ opcodeMap[(int)OpCode.Shr] = new ShiftInstruction(OpCode.Shr); /* 0x064 */ opcodeMap[(int)OpCode.Shr_un] = new ShiftInstruction(OpCode.Shr_un); /* 0x065 */ opcodeMap[(int)OpCode.Neg] = new NegInstruction(OpCode.Neg); /* 0x066 */ opcodeMap[(int)OpCode.Not] = new NotInstruction(OpCode.Not); /* 0x067 */ opcodeMap[(int)OpCode.Conv_i1] = new ConversionInstruction(OpCode.Conv_i1); /* 0x068 */ opcodeMap[(int)OpCode.Conv_i2] = new ConversionInstruction(OpCode.Conv_i2); /* 0x069 */ opcodeMap[(int)OpCode.Conv_i4] = new ConversionInstruction(OpCode.Conv_i4); /* 0x06A */ opcodeMap[(int)OpCode.Conv_i8] = new ConversionInstruction(OpCode.Conv_i8); /* 0x06B */ opcodeMap[(int)OpCode.Conv_r4] = new ConversionInstruction(OpCode.Conv_r4); /* 0x06C */ opcodeMap[(int)OpCode.Conv_r8] = new ConversionInstruction(OpCode.Conv_r8); /* 0x06D */ opcodeMap[(int)OpCode.Conv_u4] = new ConversionInstruction(OpCode.Conv_u4); /* 0x06E */ opcodeMap[(int)OpCode.Conv_u8] = new ConversionInstruction(OpCode.Conv_u8); /* 0x06F */ opcodeMap[(int)OpCode.Callvirt] = new CallvirtInstruction(OpCode.Callvirt); /* 0x070 */ opcodeMap[(int)OpCode.Cpobj] = new CpobjInstruction(OpCode.Cpobj); /* 0x071 */ opcodeMap[(int)OpCode.Ldobj] = new LdobjInstruction(OpCode.Ldobj); /* 0x072 */ opcodeMap[(int)OpCode.Ldstr] = new LdstrInstruction(OpCode.Ldstr); /* 0x073 */ opcodeMap[(int)OpCode.Newobj] = new NewobjInstruction(OpCode.Newobj); /* 0x074 */ opcodeMap[(int)OpCode.Castclass] = new CastclassInstruction(OpCode.Castclass); /* 0x075 */ opcodeMap[(int)OpCode.Isinst] = new IsInstInstruction(OpCode.Isinst); /* 0x076 */ opcodeMap[(int)OpCode.Conv_r_un] = new ConversionInstruction(OpCode.Conv_r_un); /* Opcodes 0x077-0x078 undefined */ /* 0x079 */ opcodeMap[(int)OpCode.Unbox] = new UnboxInstruction(OpCode.Unbox); /* 0x07A */ opcodeMap[(int)OpCode.Throw] = new ThrowInstruction(OpCode.Throw); /* 0x07B */ opcodeMap[(int)OpCode.Ldfld] = new LdfldInstruction(OpCode.Ldfld); /* 0x07C */ opcodeMap[(int)OpCode.Ldflda] = new LdfldaInstruction(OpCode.Ldflda); /* 0x07D */ opcodeMap[(int)OpCode.Stfld] = new StfldInstruction(OpCode.Stfld); /* 0x07E */ opcodeMap[(int)OpCode.Ldsfld] = new LdsfldInstruction(OpCode.Ldsfld); /* 0x07F */ opcodeMap[(int)OpCode.Ldsflda] = new LdsfldaInstruction(OpCode.Ldsflda); /* 0x080 */ opcodeMap[(int)OpCode.Stsfld] = new StsfldInstruction(OpCode.Stsfld); /* 0x081 */ opcodeMap[(int)OpCode.Stobj] = new StobjInstruction(OpCode.Stobj); /* 0x082 */ opcodeMap[(int)OpCode.Conv_ovf_i1_un] = new ConversionInstruction(OpCode.Conv_ovf_i1_un); /* 0x083 */ opcodeMap[(int)OpCode.Conv_ovf_i2_un] = new ConversionInstruction(OpCode.Conv_ovf_i2_un); /* 0x084 */ opcodeMap[(int)OpCode.Conv_ovf_i4_un] = new ConversionInstruction(OpCode.Conv_ovf_i4_un); /* 0x085 */ opcodeMap[(int)OpCode.Conv_ovf_i8_un] = new ConversionInstruction(OpCode.Conv_ovf_i8_un); /* 0x086 */ opcodeMap[(int)OpCode.Conv_ovf_u1_un] = new ConversionInstruction(OpCode.Conv_ovf_u1_un); /* 0x087 */ opcodeMap[(int)OpCode.Conv_ovf_u2_un] = new ConversionInstruction(OpCode.Conv_ovf_u2_un); /* 0x088 */ opcodeMap[(int)OpCode.Conv_ovf_u4_un] = new ConversionInstruction(OpCode.Conv_ovf_u4_un); /* 0x089 */ opcodeMap[(int)OpCode.Conv_ovf_u8_un] = new ConversionInstruction(OpCode.Conv_ovf_u8_un); /* 0x08A */ opcodeMap[(int)OpCode.Conv_ovf_i_un] = new ConversionInstruction(OpCode.Conv_ovf_i_un); /* 0x08B */ opcodeMap[(int)OpCode.Conv_ovf_u_un] = new ConversionInstruction(OpCode.Conv_ovf_u_un); /* 0x08C */ opcodeMap[(int)OpCode.Box] = new BoxInstruction(OpCode.Box); /* 0x08D */ opcodeMap[(int)OpCode.Newarr] = new NewarrInstruction(OpCode.Newarr); /* 0x08E */ opcodeMap[(int)OpCode.Ldlen] = new LdlenInstruction(OpCode.Ldlen); /* 0x08F */ opcodeMap[(int)OpCode.Ldelema] = new LdelemaInstruction(OpCode.Ldelema); /* 0x090 */ opcodeMap[(int)OpCode.Ldelem_i1] = new LdelemInstruction(OpCode.Ldelem_i1); /* 0x091 */ opcodeMap[(int)OpCode.Ldelem_u1] = new LdelemInstruction(OpCode.Ldelem_u1); /* 0x092 */ opcodeMap[(int)OpCode.Ldelem_i2] = new LdelemInstruction(OpCode.Ldelem_i2); /* 0x093 */ opcodeMap[(int)OpCode.Ldelem_u2] = new LdelemInstruction(OpCode.Ldelem_u2); /* 0x094 */ opcodeMap[(int)OpCode.Ldelem_i4] = new LdelemInstruction(OpCode.Ldelem_i4); /* 0x095 */ opcodeMap[(int)OpCode.Ldelem_u4] = new LdelemInstruction(OpCode.Ldelem_u4); /* 0x096 */ opcodeMap[(int)OpCode.Ldelem_i8] = new LdelemInstruction(OpCode.Ldelem_i8); /* 0x097 */ opcodeMap[(int)OpCode.Ldelem_i] = new LdelemInstruction(OpCode.Ldelem_i); /* 0x098 */ opcodeMap[(int)OpCode.Ldelem_r4] = new LdelemInstruction(OpCode.Ldelem_r4); /* 0x099 */ opcodeMap[(int)OpCode.Ldelem_r8] = new LdelemInstruction(OpCode.Ldelem_r8); /* 0x09A */ opcodeMap[(int)OpCode.Ldelem_ref] = new LdelemInstruction(OpCode.Ldelem_ref); /* 0x09B */ opcodeMap[(int)OpCode.Stelem_i] = new StelemInstruction(OpCode.Stelem_i); /* 0x09C */ opcodeMap[(int)OpCode.Stelem_i1] = new StelemInstruction(OpCode.Stelem_i1); /* 0x09D */ opcodeMap[(int)OpCode.Stelem_i2] = new StelemInstruction(OpCode.Stelem_i2); /* 0x09E */ opcodeMap[(int)OpCode.Stelem_i4] = new StelemInstruction(OpCode.Stelem_i4); /* 0x09F */ opcodeMap[(int)OpCode.Stelem_i8] = new StelemInstruction(OpCode.Stelem_i8); /* 0x0A0 */ opcodeMap[(int)OpCode.Stelem_r4] = new StelemInstruction(OpCode.Stelem_r4); /* 0x0A1 */ opcodeMap[(int)OpCode.Stelem_r8] = new StelemInstruction(OpCode.Stelem_r8); /* 0x0A2 */ opcodeMap[(int)OpCode.Stelem_ref] = new StelemInstruction(OpCode.Stelem_ref); /* 0x0A3 */ opcodeMap[(int)OpCode.Ldelem] = new LdelemInstruction(OpCode.Ldelem); /* 0x0A4 */ opcodeMap[(int)OpCode.Stelem] = new StelemInstruction(OpCode.Stelem); /* 0x0A5 */ opcodeMap[(int)OpCode.Unbox_any] = new UnboxAnyInstruction(OpCode.Unbox_any); /* Opcodes 0x0A6-0x0B2 are undefined */ /* 0x0B3 */ opcodeMap[(int)OpCode.Conv_ovf_i1] = new ConversionInstruction(OpCode.Conv_ovf_i1); /* 0x0B4 */ opcodeMap[(int)OpCode.Conv_ovf_u1] = new ConversionInstruction(OpCode.Conv_ovf_u1); /* 0x0B5 */ opcodeMap[(int)OpCode.Conv_ovf_i2] = new ConversionInstruction(OpCode.Conv_ovf_i2); /* 0x0B6 */ opcodeMap[(int)OpCode.Conv_ovf_u2] = new ConversionInstruction(OpCode.Conv_ovf_u2); /* 0x0B7 */ opcodeMap[(int)OpCode.Conv_ovf_i4] = new ConversionInstruction(OpCode.Conv_ovf_i4); /* 0x0B8 */ opcodeMap[(int)OpCode.Conv_ovf_u4] = new ConversionInstruction(OpCode.Conv_ovf_u4); /* 0x0B9 */ opcodeMap[(int)OpCode.Conv_ovf_i8] = new ConversionInstruction(OpCode.Conv_ovf_i8); /* 0x0BA */ opcodeMap[(int)OpCode.Conv_ovf_u8] = new ConversionInstruction(OpCode.Conv_ovf_u8); /* Opcodes 0x0BB-0x0C1 are undefined */ /* 0x0C2 */ opcodeMap[(int)OpCode.Refanyval] = new RefanyvalInstruction(OpCode.Refanyval); /* 0x0C3 */ opcodeMap[(int)OpCode.Ckfinite] = new UnaryArithmeticInstruction(OpCode.Ckfinite); /* Opcodes 0x0C4-0x0C5 are undefined */ /* 0x0C6 */ opcodeMap[(int)OpCode.Mkrefany] = new MkrefanyInstruction(OpCode.Mkrefany); /* Opcodes 0x0C7-0x0CF are reserved */ /* 0x0D0 */ opcodeMap[(int)OpCode.Ldtoken] = new LdtokenInstruction(OpCode.Ldtoken); /* 0x0D1 */ opcodeMap[(int)OpCode.Conv_u2] = new ConversionInstruction(OpCode.Conv_u2); /* 0x0D2 */ opcodeMap[(int)OpCode.Conv_u1] = new ConversionInstruction(OpCode.Conv_u1); /* 0x0D3 */ opcodeMap[(int)OpCode.Conv_i] = new ConversionInstruction(OpCode.Conv_i); /* 0x0D4 */ opcodeMap[(int)OpCode.Conv_ovf_i] = new ConversionInstruction(OpCode.Conv_ovf_i); /* 0x0D5 */ opcodeMap[(int)OpCode.Conv_ovf_u] = new ConversionInstruction(OpCode.Conv_ovf_u); /* 0x0D6 */ opcodeMap[(int)OpCode.Add_ovf] = new ArithmeticOverflowInstruction(OpCode.Add_ovf); /* 0x0D7 */ opcodeMap[(int)OpCode.Add_ovf_un] = new ArithmeticOverflowInstruction(OpCode.Add_ovf_un); /* 0x0D8 */ opcodeMap[(int)OpCode.Mul_ovf] = new ArithmeticOverflowInstruction(OpCode.Mul_ovf); /* 0x0D9 */ opcodeMap[(int)OpCode.Mul_ovf_un] = new ArithmeticOverflowInstruction(OpCode.Mul_ovf_un); /* 0x0DA */ opcodeMap[(int)OpCode.Sub_ovf] = new ArithmeticOverflowInstruction(OpCode.Sub_ovf); /* 0x0DB */ opcodeMap[(int)OpCode.Sub_ovf_un] = new ArithmeticOverflowInstruction(OpCode.Sub_ovf_un); /* 0x0DC */ opcodeMap[(int)OpCode.Endfinally] = new EndFinallyInstruction(OpCode.Endfinally); /* 0x0DD */ opcodeMap[(int)OpCode.Leave] = new LeaveInstruction(OpCode.Leave); /* 0x0DE */ opcodeMap[(int)OpCode.Leave_s] = new LeaveInstruction(OpCode.Leave_s); /* 0x0DF */ opcodeMap[(int)OpCode.Stind_i] = new StobjInstruction(OpCode.Stind_i); /* 0x0E0 */ opcodeMap[(int)OpCode.Conv_u] = new ConversionInstruction(OpCode.Conv_u); /* Opcodes 0xE1-0xFF are reserved */ /* 0x100 */ opcodeMap[(int)OpCode.Arglist] = new ArglistInstruction(OpCode.Arglist); /* 0x101 */ opcodeMap[(int)OpCode.Ceq] = new BinaryComparisonInstruction(OpCode.Ceq); /* 0x102 */ opcodeMap[(int)OpCode.Cgt] = new BinaryComparisonInstruction(OpCode.Cgt); /* 0x103 */ opcodeMap[(int)OpCode.Cgt_un] = new BinaryComparisonInstruction(OpCode.Cgt_un); /* 0x104 */ opcodeMap[(int)OpCode.Clt] = new BinaryComparisonInstruction(OpCode.Clt); /* 0x105 */ opcodeMap[(int)OpCode.Clt_un] = new BinaryComparisonInstruction(OpCode.Clt_un); /* 0x106 */ opcodeMap[(int)OpCode.Ldftn] = new LdftnInstruction(OpCode.Ldftn); /* 0x107 */ opcodeMap[(int)OpCode.Ldvirtftn] = new LdvirtftnInstruction(OpCode.Ldvirtftn); /* Opcode 0x108 is undefined. */ /* 0x109 */ opcodeMap[(int)OpCode.Ldarg] = new LdargInstruction(OpCode.Ldarg); /* 0x10A */ opcodeMap[(int)OpCode.Ldarga] = new LdargaInstruction(OpCode.Ldarga); /* 0x10B */ opcodeMap[(int)OpCode.Starg] = new StargInstruction(OpCode.Starg); /* 0x10C */ opcodeMap[(int)OpCode.Ldloc] = new LdlocInstruction(OpCode.Ldloc); /* 0x10D */ opcodeMap[(int)OpCode.Ldloca] = new LdlocaInstruction(OpCode.Ldloca); /* 0x10E */ opcodeMap[(int)OpCode.Stloc] = new StlocInstruction(OpCode.Stloc); /* 0x10F */ opcodeMap[(int)OpCode.Localalloc] = new LocalallocInstruction(OpCode.Localalloc); /* Opcode 0x110 is undefined */ /* 0x111 */ opcodeMap[(int)OpCode.Endfilter] = new EndFilterInstruction(OpCode.Endfilter); /* 0x112 */ opcodeMap[(int)OpCode.PreUnaligned] = new UnalignedPrefixInstruction(OpCode.PreUnaligned); /* 0x113 */ opcodeMap[(int)OpCode.PreVolatile] = new VolatilePrefixInstruction(OpCode.PreVolatile); /* 0x114 */ opcodeMap[(int)OpCode.PreTail] = new TailPrefixInstruction(OpCode.PreTail); /* 0x115 */ opcodeMap[(int)OpCode.InitObj] = new InitObjInstruction(OpCode.InitObj); /* 0x116 */ opcodeMap[(int)OpCode.PreConstrained] = new ConstrainedPrefixInstruction(OpCode.PreConstrained); /* 0x117 */ opcodeMap[(int)OpCode.Cpblk] = new CpblkInstruction(OpCode.Cpblk); /* 0x118 */ opcodeMap[(int)OpCode.Initblk] = new InitblkInstruction(OpCode.Initblk); /* 0x119 */ opcodeMap[(int)OpCode.PreNo] = new NoPrefixInstruction(OpCode.PreNo); /* 0x11A */ opcodeMap[(int)OpCode.Rethrow] = new RethrowInstruction(OpCode.Rethrow); /* Opcode 0x11B is undefined */ /* 0x11C */ opcodeMap[(int)OpCode.Sizeof] = new SizeofInstruction(OpCode.Sizeof); /* 0x11D */ opcodeMap[(int)OpCode.Refanytype] = new RefanytypeInstruction(OpCode.Refanytype); /* 0x11E */ opcodeMap[(int)OpCode.PreReadOnly] = new ReadOnlyPrefixInstruction(OpCode.PreReadOnly); return opcodeMap; }
/// <summary> /// Initializes this instance. /// </summary> /// <returns></returns> public static BaseCILInstruction[] Initialize() { BaseCILInstruction[] opcodeMap = new BaseCILInstruction[0x120]; /* 0x000 */ opcodeMap[(int)OpCode.Nop] = Nop; /* 0x001 */ opcodeMap[(int)OpCode.Break] = Break; /* 0x002 */ opcodeMap[(int)OpCode.Ldarg_0] = Ldarg_0; /* 0x003 */ opcodeMap[(int)OpCode.Ldarg_1] = Ldarg_1; /* 0x004 */ opcodeMap[(int)OpCode.Ldarg_2] = Ldarg_2; /* 0x005 */ opcodeMap[(int)OpCode.Ldarg_3] = Ldarg_3; /* 0x006 */ opcodeMap[(int)OpCode.Ldloc_0] = Ldloc_0; /* 0x007 */ opcodeMap[(int)OpCode.Ldloc_1] = Ldloc_1; /* 0x008 */ opcodeMap[(int)OpCode.Ldloc_2] = Ldloc_2; /* 0x009 */ opcodeMap[(int)OpCode.Ldloc_3] = Ldloc_3; /* 0x00A */ opcodeMap[(int)OpCode.Stloc_0] = Stloc_0; /* 0x00B */ opcodeMap[(int)OpCode.Stloc_1] = Stloc_1; /* 0x00C */ opcodeMap[(int)OpCode.Stloc_2] = Stloc_2; /* 0x00D */ opcodeMap[(int)OpCode.Stloc_3] = Stloc_3; /* 0x00E */ opcodeMap[(int)OpCode.Ldarg_s] = Ldarg_s; /* 0x00F */ opcodeMap[(int)OpCode.Ldarga_s] = Ldarga_s; /* 0x010 */ opcodeMap[(int)OpCode.Starg_s] = Starg_s; /* 0x011 */ opcodeMap[(int)OpCode.Ldloc_s] = Ldloc_s; /* 0x012 */ opcodeMap[(int)OpCode.Ldloca_s] = Ldloca_s; /* 0x013 */ opcodeMap[(int)OpCode.Stloc_s] = Stloc_s; /* 0x014 */ opcodeMap[(int)OpCode.Ldnull] = Ldnull; /* 0x015 */ opcodeMap[(int)OpCode.Ldc_i4_m1] = Ldc_i4_m1; /* 0x016 */ opcodeMap[(int)OpCode.Ldc_i4_0] = Ldc_i4_0; /* 0x017 */ opcodeMap[(int)OpCode.Ldc_i4_1] = Ldc_i4_1; /* 0x018 */ opcodeMap[(int)OpCode.Ldc_i4_2] = Ldc_i4_2; /* 0x019 */ opcodeMap[(int)OpCode.Ldc_i4_3] = Ldc_i4_3; /* 0x01A */ opcodeMap[(int)OpCode.Ldc_i4_4] = Ldc_i4_4; /* 0x01B */ opcodeMap[(int)OpCode.Ldc_i4_5] = Ldc_i4_5; /* 0x01C */ opcodeMap[(int)OpCode.Ldc_i4_6] = Ldc_i4_6; /* 0x01D */ opcodeMap[(int)OpCode.Ldc_i4_7] = Ldc_i4_7; /* 0x01E */ opcodeMap[(int)OpCode.Ldc_i4_8] = Ldc_i4_8; /* 0x01F */ opcodeMap[(int)OpCode.Ldc_i4_s] = Ldc_i4_s; /* 0x020 */ opcodeMap[(int)OpCode.Ldc_i4] = Ldc_i4; /* 0x021 */ opcodeMap[(int)OpCode.Ldc_i8] = Ldc_i8; /* 0x022 */ opcodeMap[(int)OpCode.Ldc_r4] = Ldc_r4; /* 0x023 */ opcodeMap[(int)OpCode.Ldc_r8] = Ldc_r8; /* 0x024 is undefined */ /* 0x025 */ opcodeMap[(int)OpCode.Dup] = Dup; /* 0x026 */ opcodeMap[(int)OpCode.Pop] = Pop; /* 0x027 */ opcodeMap[(int)OpCode.Jmp] = Jmp; /* 0x028 */ opcodeMap[(int)OpCode.Call] = Call; /* 0x029 */ opcodeMap[(int)OpCode.Calli] = Calli; /* 0x02A */ opcodeMap[(int)OpCode.Ret] = Ret; /* 0x02B */ opcodeMap[(int)OpCode.Br_s] = Br_s; /* 0x02C */ opcodeMap[(int)OpCode.Brfalse_s] = Brfalse_s; /* 0x02D */ opcodeMap[(int)OpCode.Brtrue_s] = Brtrue_s; /* 0x02E */ opcodeMap[(int)OpCode.Beq_s] = Beq_s; /* 0x02F */ opcodeMap[(int)OpCode.Bge_s] = Bge_s; /* 0x030 */ opcodeMap[(int)OpCode.Bgt_s] = Bgt_s; /* 0x031 */ opcodeMap[(int)OpCode.Ble_s] = Ble_s; /* 0x032 */ opcodeMap[(int)OpCode.Blt_s] = Blt_s; /* 0x033 */ opcodeMap[(int)OpCode.Bne_un_s] = Bne_un_s; /* 0x034 */ opcodeMap[(int)OpCode.Bge_un_s] = Bge_un_s; /* 0x035 */ opcodeMap[(int)OpCode.Bgt_un_s] = Bgt_un_s; /* 0x036 */ opcodeMap[(int)OpCode.Ble_un_s] = Ble_un_s; /* 0x037 */ opcodeMap[(int)OpCode.Blt_un_s] = Blt_un_s; /* 0x038 */ opcodeMap[(int)OpCode.Br] = Br; /* 0x039 */ opcodeMap[(int)OpCode.Brfalse] = Brfalse; /* 0x03A */ opcodeMap[(int)OpCode.Brtrue] = Brtrue; /* 0x03B */ opcodeMap[(int)OpCode.Beq] = Beq; /* 0x03C */ opcodeMap[(int)OpCode.Bge] = Bge; /* 0x03D */ opcodeMap[(int)OpCode.Bgt] = Bgt; /* 0x03E */ opcodeMap[(int)OpCode.Ble] = Ble; /* 0x03F */ opcodeMap[(int)OpCode.Blt] = Blt; /* 0x040 */ opcodeMap[(int)OpCode.Bne_un] = Bne_un; /* 0x041 */ opcodeMap[(int)OpCode.Bge_un] = Bge_un; /* 0x042 */ opcodeMap[(int)OpCode.Bgt_un] = Bgt_un; /* 0x043 */ opcodeMap[(int)OpCode.Ble_un] = Ble_un; /* 0x044 */ opcodeMap[(int)OpCode.Blt_un] = Blt_un; /* 0x045 */ opcodeMap[(int)OpCode.Switch] = Switch; /* 0x046 */ opcodeMap[(int)OpCode.Ldind_i1] = Ldind_i1; /* 0x047 */ opcodeMap[(int)OpCode.Ldind_u1] = Ldind_u1; /* 0x048 */ opcodeMap[(int)OpCode.Ldind_i2] = Ldind_i2; /* 0x049 */ opcodeMap[(int)OpCode.Ldind_u2] = Ldind_u2; /* 0x04A */ opcodeMap[(int)OpCode.Ldind_i4] = Ldind_i4; /* 0x04B */ opcodeMap[(int)OpCode.Ldind_u4] = Ldind_u4; /* 0x04C */ opcodeMap[(int)OpCode.Ldind_i8] = Ldind_i8; /* 0x04D */ opcodeMap[(int)OpCode.Ldind_i] = Ldind_i; /* 0x04E */ opcodeMap[(int)OpCode.Ldind_r4] = Ldind_r4; /* 0x04F */ opcodeMap[(int)OpCode.Ldind_r8] = Ldind_r8; /* 0x050 */ opcodeMap[(int)OpCode.Ldind_ref] = Ldind_ref; /* 0x051 */ opcodeMap[(int)OpCode.Stind_ref] = Stind_ref; /* 0x052 */ opcodeMap[(int)OpCode.Stind_i1] = Stind_i1; /* 0x053 */ opcodeMap[(int)OpCode.Stind_i2] = Stind_i2; /* 0x054 */ opcodeMap[(int)OpCode.Stind_i4] = Stind_i4; /* 0x055 */ opcodeMap[(int)OpCode.Stind_i8] = Stind_i8; /* 0x056 */ opcodeMap[(int)OpCode.Stind_r4] = Stind_r4; /* 0x057 */ opcodeMap[(int)OpCode.Stind_r8] = Stind_r8; /* 0x058 */ opcodeMap[(int)OpCode.Add] = Add; /* 0x059 */ opcodeMap[(int)OpCode.Sub] = Sub; /* 0x05A */ opcodeMap[(int)OpCode.Mul] = Mul; /* 0x05B */ opcodeMap[(int)OpCode.Div] = Div; /* 0x05C */ opcodeMap[(int)OpCode.Div_un] = Div_un; /* 0x05D */ opcodeMap[(int)OpCode.Rem] = Rem; /* 0x05E */ opcodeMap[(int)OpCode.Rem_un] = Rem_un; /* 0x05F */ opcodeMap[(int)OpCode.And] = And; /* 0x060 */ opcodeMap[(int)OpCode.Or] = Or; /* 0x061 */ opcodeMap[(int)OpCode.Xor] = Xor; /* 0x062 */ opcodeMap[(int)OpCode.Shl] = Shl; /* 0x063 */ opcodeMap[(int)OpCode.Shr] = Shr; /* 0x064 */ opcodeMap[(int)OpCode.Shr_un] = Shr_un; /* 0x065 */ opcodeMap[(int)OpCode.Neg] = Neg; /* 0x066 */ opcodeMap[(int)OpCode.Not] = Not; /* 0x067 */ opcodeMap[(int)OpCode.Conv_i1] = Conv_i1; /* 0x068 */ opcodeMap[(int)OpCode.Conv_i2] = Conv_i2; /* 0x069 */ opcodeMap[(int)OpCode.Conv_i4] = Conv_i4; /* 0x06A */ opcodeMap[(int)OpCode.Conv_i8] = Conv_i8; /* 0x06B */ opcodeMap[(int)OpCode.Conv_r4] = Conv_r4; /* 0x06C */ opcodeMap[(int)OpCode.Conv_r8] = Conv_r8; /* 0x06D */ opcodeMap[(int)OpCode.Conv_u4] = Conv_u4; /* 0x06E */ opcodeMap[(int)OpCode.Conv_u8] = Conv_u8; /* 0x06F */ opcodeMap[(int)OpCode.Callvirt] = Callvirt; /* 0x070 */ opcodeMap[(int)OpCode.Cpobj] = Cpobj; /* 0x071 */ opcodeMap[(int)OpCode.Ldobj] = Ldobj; /* 0x072 */ opcodeMap[(int)OpCode.Ldstr] = Ldstr; /* 0x073 */ opcodeMap[(int)OpCode.Newobj] = Newobj; /* 0x074 */ opcodeMap[(int)OpCode.Castclass] = Castclass; /* 0x075 */ opcodeMap[(int)OpCode.Isinst] = Isinst; /* 0x076 */ opcodeMap[(int)OpCode.Conv_r_un] = Conv_r_un; /* Opcodes 0x077-0x078 undefined */ /* 0x079 */ opcodeMap[(int)OpCode.Unbox] = Unbox; /* 0x07A */ opcodeMap[(int)OpCode.Throw] = Throw; /* 0x07B */ opcodeMap[(int)OpCode.Ldfld] = Ldfld; /* 0x07C */ opcodeMap[(int)OpCode.Ldflda] = Ldflda; /* 0x07D */ opcodeMap[(int)OpCode.Stfld] = Stfld; /* 0x07E */ opcodeMap[(int)OpCode.Ldsfld] = Ldsfld; /* 0x07F */ opcodeMap[(int)OpCode.Ldsflda] = Ldsflda; /* 0x080 */ opcodeMap[(int)OpCode.Stsfld] = Stsfld; /* 0x081 */ opcodeMap[(int)OpCode.Stobj] = Stobj; /* 0x082 */ opcodeMap[(int)OpCode.Conv_ovf_i1_un] = Conv_ovf_i1_un; /* 0x083 */ opcodeMap[(int)OpCode.Conv_ovf_i2_un] = Conv_ovf_i2_un; /* 0x084 */ opcodeMap[(int)OpCode.Conv_ovf_i4_un] = Conv_ovf_i4_un; /* 0x085 */ opcodeMap[(int)OpCode.Conv_ovf_i8_un] = Conv_ovf_i8_un; /* 0x086 */ opcodeMap[(int)OpCode.Conv_ovf_u1_un] = Conv_ovf_u1_un; /* 0x087 */ opcodeMap[(int)OpCode.Conv_ovf_u2_un] = Conv_ovf_u2_un; /* 0x088 */ opcodeMap[(int)OpCode.Conv_ovf_u4_un] = Conv_ovf_u4_un; /* 0x089 */ opcodeMap[(int)OpCode.Conv_ovf_u8_un] = Conv_ovf_u8_un; /* 0x08A */ opcodeMap[(int)OpCode.Conv_ovf_i_un] = Conv_ovf_i_un; /* 0x08B */ opcodeMap[(int)OpCode.Conv_ovf_u_un] = Conv_ovf_u_un; /* 0x08C */ opcodeMap[(int)OpCode.Box] = Box; /* 0x08D */ opcodeMap[(int)OpCode.Newarr] = Newarr; /* 0x08E */ opcodeMap[(int)OpCode.Ldlen] = Ldlen; /* 0x08F */ opcodeMap[(int)OpCode.Ldelema] = Ldelema; /* 0x090 */ opcodeMap[(int)OpCode.Ldelem_i1] = Ldelem_i1; /* 0x091 */ opcodeMap[(int)OpCode.Ldelem_u1] = Ldelem_u1; /* 0x092 */ opcodeMap[(int)OpCode.Ldelem_i2] = Ldelem_i2; /* 0x093 */ opcodeMap[(int)OpCode.Ldelem_u2] = Ldelem_u2; /* 0x094 */ opcodeMap[(int)OpCode.Ldelem_i4] = Ldelem_i4; /* 0x095 */ opcodeMap[(int)OpCode.Ldelem_u4] = Ldelem_u4; /* 0x096 */ opcodeMap[(int)OpCode.Ldelem_i8] = Ldelem_i8; /* 0x097 */ opcodeMap[(int)OpCode.Ldelem_i] = Ldelem_i; /* 0x098 */ opcodeMap[(int)OpCode.Ldelem_r4] = Ldelem_r4; /* 0x099 */ opcodeMap[(int)OpCode.Ldelem_r8] = Ldelem_r8; /* 0x09A */ opcodeMap[(int)OpCode.Ldelem_ref] = Ldelem_ref; /* 0x09B */ opcodeMap[(int)OpCode.Stelem_i] = Stelem_i; /* 0x09C */ opcodeMap[(int)OpCode.Stelem_i1] = Stelem_i1; /* 0x09D */ opcodeMap[(int)OpCode.Stelem_i2] = Stelem_i2; /* 0x09E */ opcodeMap[(int)OpCode.Stelem_i4] = Stelem_i4; /* 0x09F */ opcodeMap[(int)OpCode.Stelem_i8] = Stelem_i8; /* 0x0A0 */ opcodeMap[(int)OpCode.Stelem_r4] = Stelem_r4; /* 0x0A1 */ opcodeMap[(int)OpCode.Stelem_r8] = Stelem_r8; /* 0x0A2 */ opcodeMap[(int)OpCode.Stelem_ref] = Stelem_ref; /* 0x0A3 */ opcodeMap[(int)OpCode.Ldelem] = Ldelem; /* 0x0A4 */ opcodeMap[(int)OpCode.Stelem] = Stelem; /* 0x0A5 */ opcodeMap[(int)OpCode.Unbox_any] = Unbox_any; /* Opcodes 0x0A6-0x0B2 are undefined */ /* 0x0B3 */ opcodeMap[(int)OpCode.Conv_ovf_i1] = Conv_ovf_i1; /* 0x0B4 */ opcodeMap[(int)OpCode.Conv_ovf_u1] = Conv_ovf_u1; /* 0x0B5 */ opcodeMap[(int)OpCode.Conv_ovf_i2] = Conv_ovf_i2; /* 0x0B6 */ opcodeMap[(int)OpCode.Conv_ovf_u2] = Conv_ovf_u2; /* 0x0B7 */ opcodeMap[(int)OpCode.Conv_ovf_i4] = Conv_ovf_i4; /* 0x0B8 */ opcodeMap[(int)OpCode.Conv_ovf_u4] = Conv_ovf_u4; /* 0x0B9 */ opcodeMap[(int)OpCode.Conv_ovf_i8] = Conv_ovf_i8; /* 0x0BA */ opcodeMap[(int)OpCode.Conv_ovf_u8] = Conv_ovf_u8; /* Opcodes 0x0BB-0x0C1 are undefined */ /* 0x0C2 */ opcodeMap[(int)OpCode.Refanyval] = Refanyval; /* 0x0C3 */ opcodeMap[(int)OpCode.Ckfinite] = Ckfinite; /* Opcodes 0x0C4-0x0C5 are undefined */ /* 0x0C6 */ opcodeMap[(int)OpCode.Mkrefany] = Mkrefany; /* Opcodes 0x0C7-0x0CF are reserved */ /* 0x0D0 */ opcodeMap[(int)OpCode.Ldtoken] = Ldtoken; /* 0x0D1 */ opcodeMap[(int)OpCode.Conv_u2] = Conv_u2; /* 0x0D2 */ opcodeMap[(int)OpCode.Conv_u1] = Conv_u1; /* 0x0D3 */ opcodeMap[(int)OpCode.Conv_i] = Conv_i; /* 0x0D4 */ opcodeMap[(int)OpCode.Conv_ovf_i] = Conv_ovf_i; /* 0x0D5 */ opcodeMap[(int)OpCode.Conv_ovf_u] = Conv_ovf_u; /* 0x0D6 */ opcodeMap[(int)OpCode.Add_ovf] = Add_ovf; /* 0x0D7 */ opcodeMap[(int)OpCode.Add_ovf_un] = Add_ovf_un; /* 0x0D8 */ opcodeMap[(int)OpCode.Mul_ovf] = Mul_ovf; /* 0x0D9 */ opcodeMap[(int)OpCode.Mul_ovf_un] = Mul_ovf_un; /* 0x0DA */ opcodeMap[(int)OpCode.Sub_ovf] = Sub_ovf; /* 0x0DB */ opcodeMap[(int)OpCode.Sub_ovf_un] = Sub_ovf_un; /* 0x0DC */ opcodeMap[(int)OpCode.Endfinally] = Endfinally; /* 0x0DD */ opcodeMap[(int)OpCode.Leave] = Leave; /* 0x0DE */ opcodeMap[(int)OpCode.Leave_s] = Leave_s; /* 0x0DF */ opcodeMap[(int)OpCode.Stind_i] = Stind_i; /* 0x0E0 */ opcodeMap[(int)OpCode.Conv_u] = Conv_u; /* Opcodes 0xE1-0xFF are reserved */ /* 0x100 */ opcodeMap[(int)OpCode.Arglist] = Arglist; /* 0x101 */ opcodeMap[(int)OpCode.Ceq] = Ceq; /* 0x102 */ opcodeMap[(int)OpCode.Cgt] = Cgt; /* 0x103 */ opcodeMap[(int)OpCode.Cgt_un] = Cgt_un; /* 0x104 */ opcodeMap[(int)OpCode.Clt] = Clt; /* 0x105 */ opcodeMap[(int)OpCode.Clt_un] = Clt_un; /* 0x106 */ opcodeMap[(int)OpCode.Ldftn] = Ldftn; /* 0x107 */ opcodeMap[(int)OpCode.Ldvirtftn] = Ldvirtftn; /* Opcode 0x108 is undefined. */ /* 0x109 */ opcodeMap[(int)OpCode.Ldarg] = Ldarg; /* 0x10A */ opcodeMap[(int)OpCode.Ldarga] = Ldarga; /* 0x10B */ opcodeMap[(int)OpCode.Starg] = Starg; /* 0x10C */ opcodeMap[(int)OpCode.Ldloc] = Ldloc; /* 0x10D */ opcodeMap[(int)OpCode.Ldloca] = Ldloca; /* 0x10E */ opcodeMap[(int)OpCode.Stloc] = Stloc; /* 0x10F */ opcodeMap[(int)OpCode.Localalloc] = Localalloc; /* Opcode 0x110 is undefined */ /* 0x111 */ opcodeMap[(int)OpCode.Endfilter] = Endfilter; /* 0x112 */ opcodeMap[(int)OpCode.PreUnaligned] = PreUnaligned; /* 0x113 */ opcodeMap[(int)OpCode.PreVolatile] = PreVolatile; /* 0x114 */ opcodeMap[(int)OpCode.PreTail] = PreTail; /* 0x115 */ opcodeMap[(int)OpCode.InitObj] = InitObj; /* 0x116 */ opcodeMap[(int)OpCode.PreConstrained] = PreConstrained; /* 0x117 */ opcodeMap[(int)OpCode.Cpblk] = Cpblk; /* 0x118 */ opcodeMap[(int)OpCode.Initblk] = Initblk; /* 0x119 */ opcodeMap[(int)OpCode.PreNo] = PreNo; /* 0x11A */ opcodeMap[(int)OpCode.Rethrow] = Rethrow; /* Opcode 0x11B is undefined */ /* 0x11C */ opcodeMap[(int)OpCode.Sizeof] = Sizeof; /* 0x11D */ opcodeMap[(int)OpCode.Refanytype] = Refanytype; /* 0x11E */ opcodeMap[(int)OpCode.PreReadOnly] = PreReadOnly; return opcodeMap; }
/// <summary> /// Initializes this instance. /// </summary> /// <returns></returns> public static BaseCILInstruction[] Initialize() { BaseCILInstruction[] opcodeMap = new BaseCILInstruction[0x120]; /* 0x000 */ opcodeMap[(int)OpCode.Nop] = new NopInstruction(OpCode.Nop); /* 0x001 */ opcodeMap[(int)OpCode.Break] = new BreakInstruction(OpCode.Break); /* 0x002 */ opcodeMap[(int)OpCode.Ldarg_0] = new LdargInstruction(OpCode.Ldarg_0); /* 0x003 */ opcodeMap[(int)OpCode.Ldarg_1] = new LdargInstruction(OpCode.Ldarg_1); /* 0x004 */ opcodeMap[(int)OpCode.Ldarg_2] = new LdargInstruction(OpCode.Ldarg_2); /* 0x005 */ opcodeMap[(int)OpCode.Ldarg_3] = new LdargInstruction(OpCode.Ldarg_3); /* 0x006 */ opcodeMap[(int)OpCode.Ldloc_0] = new LdlocInstruction(OpCode.Ldloc_0); /* 0x007 */ opcodeMap[(int)OpCode.Ldloc_1] = new LdlocInstruction(OpCode.Ldloc_1); /* 0x008 */ opcodeMap[(int)OpCode.Ldloc_2] = new LdlocInstruction(OpCode.Ldloc_2); /* 0x009 */ opcodeMap[(int)OpCode.Ldloc_3] = new LdlocInstruction(OpCode.Ldloc_3); /* 0x00A */ opcodeMap[(int)OpCode.Stloc_0] = new StlocInstruction(OpCode.Stloc_0); /* 0x00B */ opcodeMap[(int)OpCode.Stloc_1] = new StlocInstruction(OpCode.Stloc_1); /* 0x00C */ opcodeMap[(int)OpCode.Stloc_2] = new StlocInstruction(OpCode.Stloc_2); /* 0x00D */ opcodeMap[(int)OpCode.Stloc_3] = new StlocInstruction(OpCode.Stloc_3); /* 0x00E */ opcodeMap[(int)OpCode.Ldarg_s] = new LdargInstruction(OpCode.Ldarg_s); /* 0x00F */ opcodeMap[(int)OpCode.Ldarga_s] = new LdargaInstruction(OpCode.Ldarga_s); /* 0x010 */ opcodeMap[(int)OpCode.Starg_s] = new StargInstruction(OpCode.Starg_s); /* 0x011 */ opcodeMap[(int)OpCode.Ldloc_s] = new LdlocInstruction(OpCode.Ldloc_s); /* 0x012 */ opcodeMap[(int)OpCode.Ldloca_s] = new LdlocaInstruction(OpCode.Ldloca_s); /* 0x013 */ opcodeMap[(int)OpCode.Stloc_s] = new StlocInstruction(OpCode.Stloc_s); /* 0x014 */ opcodeMap[(int)OpCode.Ldnull] = new LdcInstruction(OpCode.Ldnull); /* 0x015 */ opcodeMap[(int)OpCode.Ldc_i4_m1] = new LdcInstruction(OpCode.Ldc_i4_m1); /* 0x016 */ opcodeMap[(int)OpCode.Ldc_i4_0] = new LdcInstruction(OpCode.Ldc_i4_0); /* 0x017 */ opcodeMap[(int)OpCode.Ldc_i4_1] = new LdcInstruction(OpCode.Ldc_i4_1); /* 0x018 */ opcodeMap[(int)OpCode.Ldc_i4_2] = new LdcInstruction(OpCode.Ldc_i4_2); /* 0x019 */ opcodeMap[(int)OpCode.Ldc_i4_3] = new LdcInstruction(OpCode.Ldc_i4_3); /* 0x01A */ opcodeMap[(int)OpCode.Ldc_i4_4] = new LdcInstruction(OpCode.Ldc_i4_4); /* 0x01B */ opcodeMap[(int)OpCode.Ldc_i4_5] = new LdcInstruction(OpCode.Ldc_i4_5); /* 0x01C */ opcodeMap[(int)OpCode.Ldc_i4_6] = new LdcInstruction(OpCode.Ldc_i4_6); /* 0x01D */ opcodeMap[(int)OpCode.Ldc_i4_7] = new LdcInstruction(OpCode.Ldc_i4_7); /* 0x01E */ opcodeMap[(int)OpCode.Ldc_i4_8] = new LdcInstruction(OpCode.Ldc_i4_8); /* 0x01F */ opcodeMap[(int)OpCode.Ldc_i4_s] = new LdcInstruction(OpCode.Ldc_i4_s); /* 0x020 */ opcodeMap[(int)OpCode.Ldc_i4] = new LdcInstruction(OpCode.Ldc_i4); /* 0x021 */ opcodeMap[(int)OpCode.Ldc_i8] = new LdcInstruction(OpCode.Ldc_i8); /* 0x022 */ opcodeMap[(int)OpCode.Ldc_r4] = new LdcInstruction(OpCode.Ldc_r4); /* 0x023 */ opcodeMap[(int)OpCode.Ldc_r8] = new LdcInstruction(OpCode.Ldc_r8); /* 0x024 is undefined */ /* 0x025 */ opcodeMap[(int)OpCode.Dup] = new DupInstruction(OpCode.Dup); /* 0x026 */ opcodeMap[(int)OpCode.Pop] = new PopInstruction(OpCode.Pop); /* 0x027 */ opcodeMap[(int)OpCode.Jmp] = new JumpInstruction(OpCode.Jmp); /* 0x028 */ opcodeMap[(int)OpCode.Call] = new CallInstruction(OpCode.Call); /* 0x029 */ opcodeMap[(int)OpCode.Calli] = new CalliInstruction(OpCode.Calli); /* 0x02A */ opcodeMap[(int)OpCode.Ret] = new ReturnInstruction(OpCode.Ret); /* 0x02B */ opcodeMap[(int)OpCode.Br_s] = new BranchInstruction(OpCode.Br_s); /* 0x02C */ opcodeMap[(int)OpCode.Brfalse_s] = new UnaryBranchInstruction(OpCode.Brfalse_s); /* 0x02D */ opcodeMap[(int)OpCode.Brtrue_s] = new UnaryBranchInstruction(OpCode.Brtrue_s); /* 0x02E */ opcodeMap[(int)OpCode.Beq_s] = new BinaryBranchInstruction(OpCode.Beq_s); /* 0x02F */ opcodeMap[(int)OpCode.Bge_s] = new BinaryBranchInstruction(OpCode.Bge_s); /* 0x030 */ opcodeMap[(int)OpCode.Bgt_s] = new BinaryBranchInstruction(OpCode.Bgt_s); /* 0x031 */ opcodeMap[(int)OpCode.Ble_s] = new BinaryBranchInstruction(OpCode.Ble_s); /* 0x032 */ opcodeMap[(int)OpCode.Blt_s] = new BinaryBranchInstruction(OpCode.Blt_s); /* 0x033 */ opcodeMap[(int)OpCode.Bne_un_s] = new BinaryBranchInstruction(OpCode.Bne_un_s); /* 0x034 */ opcodeMap[(int)OpCode.Bge_un_s] = new BinaryBranchInstruction(OpCode.Bge_un_s); /* 0x035 */ opcodeMap[(int)OpCode.Bgt_un_s] = new BinaryBranchInstruction(OpCode.Bgt_un_s); /* 0x036 */ opcodeMap[(int)OpCode.Ble_un_s] = new BinaryBranchInstruction(OpCode.Ble_un_s); /* 0x037 */ opcodeMap[(int)OpCode.Blt_un_s] = new BinaryBranchInstruction(OpCode.Blt_un_s); /* 0x038 */ opcodeMap[(int)OpCode.Br] = new BranchInstruction(OpCode.Br); /* 0x039 */ opcodeMap[(int)OpCode.Brfalse] = new UnaryBranchInstruction(OpCode.Brfalse); /* 0x03A */ opcodeMap[(int)OpCode.Brtrue] = new UnaryBranchInstruction(OpCode.Brtrue); /* 0x03B */ opcodeMap[(int)OpCode.Beq] = new BinaryBranchInstruction(OpCode.Beq); /* 0x03C */ opcodeMap[(int)OpCode.Bge] = new BinaryBranchInstruction(OpCode.Bge); /* 0x03D */ opcodeMap[(int)OpCode.Bgt] = new BinaryBranchInstruction(OpCode.Bgt); /* 0x03E */ opcodeMap[(int)OpCode.Ble] = new BinaryBranchInstruction(OpCode.Ble); /* 0x03F */ opcodeMap[(int)OpCode.Blt] = new BinaryBranchInstruction(OpCode.Blt); /* 0x040 */ opcodeMap[(int)OpCode.Bne_un] = new BinaryBranchInstruction(OpCode.Bne_un); /* 0x041 */ opcodeMap[(int)OpCode.Bge_un] = new BinaryBranchInstruction(OpCode.Bge_un); /* 0x042 */ opcodeMap[(int)OpCode.Bgt_un] = new BinaryBranchInstruction(OpCode.Bgt_un); /* 0x043 */ opcodeMap[(int)OpCode.Ble_un] = new BinaryBranchInstruction(OpCode.Ble_un); /* 0x044 */ opcodeMap[(int)OpCode.Blt_un] = new BinaryBranchInstruction(OpCode.Blt_un); /* 0x045 */ opcodeMap[(int)OpCode.Switch] = new SwitchInstruction(OpCode.Switch); /* 0x046 */ opcodeMap[(int)OpCode.Ldind_i1] = new LdobjInstruction(OpCode.Ldind_i1); /* 0x047 */ opcodeMap[(int)OpCode.Ldind_u1] = new LdobjInstruction(OpCode.Ldind_u1); /* 0x048 */ opcodeMap[(int)OpCode.Ldind_i2] = new LdobjInstruction(OpCode.Ldind_i2); /* 0x049 */ opcodeMap[(int)OpCode.Ldind_u2] = new LdobjInstruction(OpCode.Ldind_u2); /* 0x04A */ opcodeMap[(int)OpCode.Ldind_i4] = new LdobjInstruction(OpCode.Ldind_i4); /* 0x04B */ opcodeMap[(int)OpCode.Ldind_u4] = new LdobjInstruction(OpCode.Ldind_u4); /* 0x04C */ opcodeMap[(int)OpCode.Ldind_i8] = new LdobjInstruction(OpCode.Ldind_i8); /* 0x04D */ opcodeMap[(int)OpCode.Ldind_i] = new LdobjInstruction(OpCode.Ldind_i); /* 0x04E */ opcodeMap[(int)OpCode.Ldind_r4] = new LdobjInstruction(OpCode.Ldind_r4); /* 0x04F */ opcodeMap[(int)OpCode.Ldind_r8] = new LdobjInstruction(OpCode.Ldind_r8); /* 0x050 */ opcodeMap[(int)OpCode.Ldind_ref] = new LdobjInstruction(OpCode.Ldind_ref); /* 0x051 */ opcodeMap[(int)OpCode.Stind_ref] = new StobjInstruction(OpCode.Stind_ref); /* 0x052 */ opcodeMap[(int)OpCode.Stind_i1] = new StobjInstruction(OpCode.Stind_i1); /* 0x053 */ opcodeMap[(int)OpCode.Stind_i2] = new StobjInstruction(OpCode.Stind_i2); /* 0x054 */ opcodeMap[(int)OpCode.Stind_i4] = new StobjInstruction(OpCode.Stind_i4); /* 0x055 */ opcodeMap[(int)OpCode.Stind_i8] = new StobjInstruction(OpCode.Stind_i8); /* 0x056 */ opcodeMap[(int)OpCode.Stind_r4] = new StobjInstruction(OpCode.Stind_r4); /* 0x057 */ opcodeMap[(int)OpCode.Stind_r8] = new StobjInstruction(OpCode.Stind_r8); /* 0x058 */ opcodeMap[(int)OpCode.Add] = new AddInstruction(OpCode.Add); /* 0x059 */ opcodeMap[(int)OpCode.Sub] = new SubInstruction(OpCode.Sub); /* 0x05A */ opcodeMap[(int)OpCode.Mul] = new MulInstruction(OpCode.Mul); /* 0x05B */ opcodeMap[(int)OpCode.Div] = new DivInstruction(OpCode.Div); /* 0x05C */ opcodeMap[(int)OpCode.Div_un] = new BinaryLogicInstruction(OpCode.Div_un); /* 0x05D */ opcodeMap[(int)OpCode.Rem] = new RemInstruction(OpCode.Rem); /* 0x05E */ opcodeMap[(int)OpCode.Rem_un] = new BinaryLogicInstruction(OpCode.Rem_un); /* 0x05F */ opcodeMap[(int)OpCode.And] = new BinaryLogicInstruction(OpCode.And); /* 0x060 */ opcodeMap[(int)OpCode.Or] = new BinaryLogicInstruction(OpCode.Or); /* 0x061 */ opcodeMap[(int)OpCode.Xor] = new BinaryLogicInstruction(OpCode.Xor); /* 0x062 */ opcodeMap[(int)OpCode.Shl] = new ShiftInstruction(OpCode.Shl); /* 0x063 */ opcodeMap[(int)OpCode.Shr] = new ShiftInstruction(OpCode.Shr); /* 0x064 */ opcodeMap[(int)OpCode.Shr_un] = new ShiftInstruction(OpCode.Shr_un); /* 0x065 */ opcodeMap[(int)OpCode.Neg] = new NegInstruction(OpCode.Neg); /* 0x066 */ opcodeMap[(int)OpCode.Not] = new NotInstruction(OpCode.Not); /* 0x067 */ opcodeMap[(int)OpCode.Conv_i1] = new ConversionInstruction(OpCode.Conv_i1); /* 0x068 */ opcodeMap[(int)OpCode.Conv_i2] = new ConversionInstruction(OpCode.Conv_i2); /* 0x069 */ opcodeMap[(int)OpCode.Conv_i4] = new ConversionInstruction(OpCode.Conv_i4); /* 0x06A */ opcodeMap[(int)OpCode.Conv_i8] = new ConversionInstruction(OpCode.Conv_i8); /* 0x06B */ opcodeMap[(int)OpCode.Conv_r4] = new ConversionInstruction(OpCode.Conv_r4); /* 0x06C */ opcodeMap[(int)OpCode.Conv_r8] = new ConversionInstruction(OpCode.Conv_r8); /* 0x06D */ opcodeMap[(int)OpCode.Conv_u4] = new ConversionInstruction(OpCode.Conv_u4); /* 0x06E */ opcodeMap[(int)OpCode.Conv_u8] = new ConversionInstruction(OpCode.Conv_u8); /* 0x06F */ opcodeMap[(int)OpCode.Callvirt] = new CallvirtInstruction(OpCode.Callvirt); /* 0x070 */ opcodeMap[(int)OpCode.Cpobj] = new CpobjInstruction(OpCode.Cpobj); /* 0x071 */ opcodeMap[(int)OpCode.Ldobj] = new LdobjInstruction(OpCode.Ldobj); /* 0x072 */ opcodeMap[(int)OpCode.Ldstr] = new LdstrInstruction(OpCode.Ldstr); /* 0x073 */ opcodeMap[(int)OpCode.Newobj] = new NewobjInstruction(OpCode.Newobj); /* 0x074 */ opcodeMap[(int)OpCode.Castclass] = new CastclassInstruction(OpCode.Castclass); /* 0x075 */ opcodeMap[(int)OpCode.Isinst] = new IsInstInstruction(OpCode.Isinst); /* 0x076 */ opcodeMap[(int)OpCode.Conv_r_un] = new ConversionInstruction(OpCode.Conv_r_un); /* Opcodes 0x077-0x078 undefined */ /* 0x079 */ opcodeMap[(int)OpCode.Unbox] = new UnboxInstruction(OpCode.Unbox); /* 0x07A */ opcodeMap[(int)OpCode.Throw] = new ThrowInstruction(OpCode.Throw); /* 0x07B */ opcodeMap[(int)OpCode.Ldfld] = new LdfldInstruction(OpCode.Ldfld); /* 0x07C */ opcodeMap[(int)OpCode.Ldflda] = new LdfldaInstruction(OpCode.Ldflda); /* 0x07D */ opcodeMap[(int)OpCode.Stfld] = new StfldInstruction(OpCode.Stfld); /* 0x07E */ opcodeMap[(int)OpCode.Ldsfld] = new LdsfldInstruction(OpCode.Ldsfld); /* 0x07F */ opcodeMap[(int)OpCode.Ldsflda] = new LdsfldaInstruction(OpCode.Ldsflda); /* 0x080 */ opcodeMap[(int)OpCode.Stsfld] = new StsfldInstruction(OpCode.Stsfld); /* 0x081 */ opcodeMap[(int)OpCode.Stobj] = new StobjInstruction(OpCode.Stobj); /* 0x082 */ opcodeMap[(int)OpCode.Conv_ovf_i1_un] = new ConversionInstruction(OpCode.Conv_ovf_i1_un); /* 0x083 */ opcodeMap[(int)OpCode.Conv_ovf_i2_un] = new ConversionInstruction(OpCode.Conv_ovf_i2_un); /* 0x084 */ opcodeMap[(int)OpCode.Conv_ovf_i4_un] = new ConversionInstruction(OpCode.Conv_ovf_i4_un); /* 0x085 */ opcodeMap[(int)OpCode.Conv_ovf_i8_un] = new ConversionInstruction(OpCode.Conv_ovf_i8_un); /* 0x086 */ opcodeMap[(int)OpCode.Conv_ovf_u1_un] = new ConversionInstruction(OpCode.Conv_ovf_u1_un); /* 0x087 */ opcodeMap[(int)OpCode.Conv_ovf_u2_un] = new ConversionInstruction(OpCode.Conv_ovf_u2_un); /* 0x088 */ opcodeMap[(int)OpCode.Conv_ovf_u4_un] = new ConversionInstruction(OpCode.Conv_ovf_u4_un); /* 0x089 */ opcodeMap[(int)OpCode.Conv_ovf_u8_un] = new ConversionInstruction(OpCode.Conv_ovf_u8_un); /* 0x08A */ opcodeMap[(int)OpCode.Conv_ovf_i_un] = new ConversionInstruction(OpCode.Conv_ovf_i_un); /* 0x08B */ opcodeMap[(int)OpCode.Conv_ovf_u_un] = new ConversionInstruction(OpCode.Conv_ovf_u_un); /* 0x08C */ opcodeMap[(int)OpCode.Box] = new BoxInstruction(OpCode.Box); /* 0x08D */ opcodeMap[(int)OpCode.Newarr] = new NewarrInstruction(OpCode.Newarr); /* 0x08E */ opcodeMap[(int)OpCode.Ldlen] = new LdlenInstruction(OpCode.Ldlen); /* 0x08F */ opcodeMap[(int)OpCode.Ldelema] = new LdelemaInstruction(OpCode.Ldelema); /* 0x090 */ opcodeMap[(int)OpCode.Ldelem_i1] = new LdelemInstruction(OpCode.Ldelem_i1); /* 0x091 */ opcodeMap[(int)OpCode.Ldelem_u1] = new LdelemInstruction(OpCode.Ldelem_u1); /* 0x092 */ opcodeMap[(int)OpCode.Ldelem_i2] = new LdelemInstruction(OpCode.Ldelem_i2); /* 0x093 */ opcodeMap[(int)OpCode.Ldelem_u2] = new LdelemInstruction(OpCode.Ldelem_u2); /* 0x094 */ opcodeMap[(int)OpCode.Ldelem_i4] = new LdelemInstruction(OpCode.Ldelem_i4); /* 0x095 */ opcodeMap[(int)OpCode.Ldelem_u4] = new LdelemInstruction(OpCode.Ldelem_u4); /* 0x096 */ opcodeMap[(int)OpCode.Ldelem_i8] = new LdelemInstruction(OpCode.Ldelem_i8); /* 0x097 */ opcodeMap[(int)OpCode.Ldelem_i] = new LdelemInstruction(OpCode.Ldelem_i); /* 0x098 */ opcodeMap[(int)OpCode.Ldelem_r4] = new LdelemInstruction(OpCode.Ldelem_r4); /* 0x099 */ opcodeMap[(int)OpCode.Ldelem_r8] = new LdelemInstruction(OpCode.Ldelem_r8); /* 0x09A */ opcodeMap[(int)OpCode.Ldelem_ref] = new LdelemInstruction(OpCode.Ldelem_ref); /* 0x09B */ opcodeMap[(int)OpCode.Stelem_i] = new StelemInstruction(OpCode.Stelem_i); /* 0x09C */ opcodeMap[(int)OpCode.Stelem_i1] = new StelemInstruction(OpCode.Stelem_i1); /* 0x09D */ opcodeMap[(int)OpCode.Stelem_i2] = new StelemInstruction(OpCode.Stelem_i2); /* 0x09E */ opcodeMap[(int)OpCode.Stelem_i4] = new StelemInstruction(OpCode.Stelem_i4); /* 0x09F */ opcodeMap[(int)OpCode.Stelem_i8] = new StelemInstruction(OpCode.Stelem_i8); /* 0x0A0 */ opcodeMap[(int)OpCode.Stelem_r4] = new StelemInstruction(OpCode.Stelem_r4); /* 0x0A1 */ opcodeMap[(int)OpCode.Stelem_r8] = new StelemInstruction(OpCode.Stelem_r8); /* 0x0A2 */ opcodeMap[(int)OpCode.Stelem_ref] = new StelemInstruction(OpCode.Stelem_ref); /* 0x0A3 */ opcodeMap[(int)OpCode.Ldelem] = new LdelemInstruction(OpCode.Ldelem); /* 0x0A4 */ opcodeMap[(int)OpCode.Stelem] = new StelemInstruction(OpCode.Stelem); /* 0x0A5 */ opcodeMap[(int)OpCode.Unbox_any] = new UnboxAnyInstruction(OpCode.Unbox_any); /* Opcodes 0x0A6-0x0B2 are undefined */ /* 0x0B3 */ opcodeMap[(int)OpCode.Conv_ovf_i1] = new ConversionInstruction(OpCode.Conv_ovf_i1); /* 0x0B4 */ opcodeMap[(int)OpCode.Conv_ovf_u1] = new ConversionInstruction(OpCode.Conv_ovf_u1); /* 0x0B5 */ opcodeMap[(int)OpCode.Conv_ovf_i2] = new ConversionInstruction(OpCode.Conv_ovf_i2); /* 0x0B6 */ opcodeMap[(int)OpCode.Conv_ovf_u2] = new ConversionInstruction(OpCode.Conv_ovf_u2); /* 0x0B7 */ opcodeMap[(int)OpCode.Conv_ovf_i4] = new ConversionInstruction(OpCode.Conv_ovf_i4); /* 0x0B8 */ opcodeMap[(int)OpCode.Conv_ovf_u4] = new ConversionInstruction(OpCode.Conv_ovf_u4); /* 0x0B9 */ opcodeMap[(int)OpCode.Conv_ovf_i8] = new ConversionInstruction(OpCode.Conv_ovf_i8); /* 0x0BA */ opcodeMap[(int)OpCode.Conv_ovf_u8] = new ConversionInstruction(OpCode.Conv_ovf_u8); /* Opcodes 0x0BB-0x0C1 are undefined */ /* 0x0C2 */ opcodeMap[(int)OpCode.Refanyval] = new RefanyvalInstruction(OpCode.Refanyval); /* 0x0C3 */ opcodeMap[(int)OpCode.Ckfinite] = new UnaryArithmeticInstruction(OpCode.Ckfinite); /* Opcodes 0x0C4-0x0C5 are undefined */ /* 0x0C6 */ opcodeMap[(int)OpCode.Mkrefany] = new MkrefanyInstruction(OpCode.Mkrefany); /* Opcodes 0x0C7-0x0CF are reserved */ /* 0x0D0 */ opcodeMap[(int)OpCode.Ldtoken] = new LdtokenInstruction(OpCode.Ldtoken); /* 0x0D1 */ opcodeMap[(int)OpCode.Conv_u2] = new ConversionInstruction(OpCode.Conv_u2); /* 0x0D2 */ opcodeMap[(int)OpCode.Conv_u1] = new ConversionInstruction(OpCode.Conv_u1); /* 0x0D3 */ opcodeMap[(int)OpCode.Conv_i] = new ConversionInstruction(OpCode.Conv_i); /* 0x0D4 */ opcodeMap[(int)OpCode.Conv_ovf_i] = new ConversionInstruction(OpCode.Conv_ovf_i); /* 0x0D5 */ opcodeMap[(int)OpCode.Conv_ovf_u] = new ConversionInstruction(OpCode.Conv_ovf_u); /* 0x0D6 */ opcodeMap[(int)OpCode.Add_ovf] = new ArithmeticOverflowInstruction(OpCode.Add_ovf); /* 0x0D7 */ opcodeMap[(int)OpCode.Add_ovf_un] = new ArithmeticOverflowInstruction(OpCode.Add_ovf_un); /* 0x0D8 */ opcodeMap[(int)OpCode.Mul_ovf] = new ArithmeticOverflowInstruction(OpCode.Mul_ovf); /* 0x0D9 */ opcodeMap[(int)OpCode.Mul_ovf_un] = new ArithmeticOverflowInstruction(OpCode.Mul_ovf_un); /* 0x0DA */ opcodeMap[(int)OpCode.Sub_ovf] = new ArithmeticOverflowInstruction(OpCode.Sub_ovf); /* 0x0DB */ opcodeMap[(int)OpCode.Sub_ovf_un] = new ArithmeticOverflowInstruction(OpCode.Sub_ovf_un); /* 0x0DC */ opcodeMap[(int)OpCode.Endfinally] = new EndFinallyInstruction(OpCode.Endfinally); /* 0x0DD */ opcodeMap[(int)OpCode.Leave] = new LeaveInstruction(OpCode.Leave); /* 0x0DE */ opcodeMap[(int)OpCode.Leave_s] = new LeaveInstruction(OpCode.Leave_s); /* 0x0DF */ opcodeMap[(int)OpCode.Stind_i] = new StobjInstruction(OpCode.Stind_i); /* 0x0E0 */ opcodeMap[(int)OpCode.Conv_u] = new ConversionInstruction(OpCode.Conv_u); /* Opcodes 0xE1-0xFF are reserved */ /* 0x100 */ opcodeMap[(int)OpCode.Arglist] = new ArglistInstruction(OpCode.Arglist); /* 0x101 */ opcodeMap[(int)OpCode.Ceq] = new BinaryComparisonInstruction(OpCode.Ceq); /* 0x102 */ opcodeMap[(int)OpCode.Cgt] = new BinaryComparisonInstruction(OpCode.Cgt); /* 0x103 */ opcodeMap[(int)OpCode.Cgt_un] = new BinaryComparisonInstruction(OpCode.Cgt_un); /* 0x104 */ opcodeMap[(int)OpCode.Clt] = new BinaryComparisonInstruction(OpCode.Clt); /* 0x105 */ opcodeMap[(int)OpCode.Clt_un] = new BinaryComparisonInstruction(OpCode.Clt_un); /* 0x106 */ opcodeMap[(int)OpCode.Ldftn] = new LdftnInstruction(OpCode.Ldftn); /* 0x107 */ opcodeMap[(int)OpCode.Ldvirtftn] = new LdvirtftnInstruction(OpCode.Ldvirtftn); /* Opcode 0x108 is undefined. */ /* 0x109 */ opcodeMap[(int)OpCode.Ldarg] = new LdargInstruction(OpCode.Ldarg); /* 0x10A */ opcodeMap[(int)OpCode.Ldarga] = new LdargaInstruction(OpCode.Ldarga); /* 0x10B */ opcodeMap[(int)OpCode.Starg] = new StargInstruction(OpCode.Starg); /* 0x10C */ opcodeMap[(int)OpCode.Ldloc] = new LdlocInstruction(OpCode.Ldloc); /* 0x10D */ opcodeMap[(int)OpCode.Ldloca] = new LdlocaInstruction(OpCode.Ldloca); /* 0x10E */ opcodeMap[(int)OpCode.Stloc] = new StlocInstruction(OpCode.Stloc); /* 0x10F */ opcodeMap[(int)OpCode.Localalloc] = new LocalallocInstruction(OpCode.Localalloc); /* Opcode 0x110 is undefined */ /* 0x111 */ opcodeMap[(int)OpCode.Endfilter] = new EndFilterInstruction(OpCode.Endfilter); /* 0x112 */ opcodeMap[(int)OpCode.PreUnaligned] = new UnalignedPrefixInstruction(OpCode.PreUnaligned); /* 0x113 */ opcodeMap[(int)OpCode.PreVolatile] = new VolatilePrefixInstruction(OpCode.PreVolatile); /* 0x114 */ opcodeMap[(int)OpCode.PreTail] = new TailPrefixInstruction(OpCode.PreTail); /* 0x115 */ opcodeMap[(int)OpCode.InitObj] = new InitObjInstruction(OpCode.InitObj); /* 0x116 */ opcodeMap[(int)OpCode.PreConstrained] = new ConstrainedPrefixInstruction(OpCode.PreConstrained); /* 0x117 */ opcodeMap[(int)OpCode.Cpblk] = new CpblkInstruction(OpCode.Cpblk); /* 0x118 */ opcodeMap[(int)OpCode.Initblk] = new InitblkInstruction(OpCode.Initblk); /* 0x119 */ opcodeMap[(int)OpCode.PreNo] = new NoPrefixInstruction(OpCode.PreNo); /* 0x11A */ opcodeMap[(int)OpCode.Rethrow] = new RethrowInstruction(OpCode.Rethrow); /* Opcode 0x11B is undefined */ /* 0x11C */ opcodeMap[(int)OpCode.Sizeof] = new SizeofInstruction(OpCode.Sizeof); /* 0x11D */ opcodeMap[(int)OpCode.Refanytype] = new RefanytypeInstruction(OpCode.Refanytype); /* 0x11E */ opcodeMap[(int)OpCode.PreReadOnly] = new ReadOnlyPrefixInstruction(OpCode.PreReadOnly); return(opcodeMap); }