public static void LdInt32( this ILGenerator g, int i )
{
if( i == 0 ) g.Emit( OpCodes.Ldc_I4_0 );
else if( i == 1 ) g.Emit( OpCodes.Ldc_I4_1 );
else if( i == 2 ) g.Emit( OpCodes.Ldc_I4_2 );
else if( i == 3 ) g.Emit( OpCodes.Ldc_I4_3 );
else if( i == 4 ) g.Emit( OpCodes.Ldc_I4_4 );
else if( i == 5 ) g.Emit( OpCodes.Ldc_I4_5 );
else if( i == 6 ) g.Emit( OpCodes.Ldc_I4_6 );
else if( i == 7 ) g.Emit( OpCodes.Ldc_I4_7 );
else if( i == 8 ) g.Emit( OpCodes.Ldc_I4_8 );
else if( i == -1 ) g.Emit( OpCodes.Ldc_I4_M1 );
else if( i >= -128 && i <= 127 ) g.Emit( OpCodes.Ldc_I4_S, (byte)i );
else g.Emit( OpCodes.Ldc_I4, i );
}