private OpCodeWrapper OptimizeLdcI4(int value)
{
switch (value)
{
case -1:
return new OpCodeWrapper(OpCodes.Ldc_I4_M1, null);
case 0:
return new OpCodeWrapper(OpCodes.Ldc_I4_0, null);
case 1:
return new OpCodeWrapper(OpCodes.Ldc_I4_1, null);
case 2:
return new OpCodeWrapper(OpCodes.Ldc_I4_2, null);
case 3:
return new OpCodeWrapper(OpCodes.Ldc_I4_3, null);
case 4:
return new OpCodeWrapper(OpCodes.Ldc_I4_4, null);
case 5:
return new OpCodeWrapper(OpCodes.Ldc_I4_5, null);
case 6:
return new OpCodeWrapper(OpCodes.Ldc_I4_6, null);
case 7:
return new OpCodeWrapper(OpCodes.Ldc_I4_7, null);
case 8:
return new OpCodeWrapper(OpCodes.Ldc_I4_8, null);
default:
if (value >= -128 && value <= 127)
{
return new OpCodeWrapper(OpCodes.Ldc_I4_S, (sbyte)value);
}
else
{
return new OpCodeWrapper(OpCodes.Ldc_I4, value);
}
}
}