public void LoadConst(IAsm a)
{
int value = Convert.ToInt32(a.getInsn());
if (value > 127 || value < -128) /* if must use long form */
{
il.Emit(OpCodes.Ldc_I4, value);
}
else if (value > 8 || value < -1) /* if must use medium form */
{
il.Emit(OpCodes.Ldc_I4_S, value);
}
else if (value == -1)
{
il.Emit(OpCodes.Ldc_I4_M1);
}
else /* else use short form */
{
Object o = opcodehash["ldc.i4." + a.getInsn()];
if (o == null)
{
Io.ICE("Could not find opcode for (Ldc_I4_" + a.getInsn() + ")");
}
il.Emit((OpCode)o);
}
}