/// <summary>Pushes the value of i onto the evaluation stack as an int32.</summary> public static ILSugar LoadConstant(this ILSugar il, long i) { switch (i) { case 0: il.Ldc_I4_0(); break; case 1: il.Ldc_I4_1(); break; case 2: il.Ldc_I4_2(); break; case 3: il.Ldc_I4_3(); break; case 4: il.Ldc_I4_4(); break; case 5: il.Ldc_I4_5(); break; case 6: il.Ldc_I4_6(); break; case 7: il.Ldc_I4_7(); break; case 8: il.Ldc_I4_8(); break; default: if (i <= byte.MaxValue) { il.Ldc_I4_S((byte)i); } else if (i <= int.MaxValue) { il.Ldc_I4((int)i); } else { il.Ldc_I8(i); } break; } return(il); }