Boo.Lang.Compiler.Steps.EmitAssembly.NumericPromotionOpcodeFor C# (CSharp) Метод

NumericPromotionOpcodeFor() приватный статический Метод

private static NumericPromotionOpcodeFor ( TypeCode typeCode, bool @checked ) : OpCode
typeCode TypeCode
@checked bool
Результат OpCode
        private static OpCode NumericPromotionOpcodeFor(TypeCode typeCode, bool @checked)
        {
            switch (typeCode)
            {
                case TypeCode.SByte:
                    return @checked ? OpCodes.Conv_Ovf_I1 : OpCodes.Conv_I1;
                case TypeCode.Byte:
                    return @checked ? OpCodes.Conv_Ovf_U1 : OpCodes.Conv_U1;
                case TypeCode.Int16:
                    return @checked ? OpCodes.Conv_Ovf_I2 : OpCodes.Conv_I2;
                case TypeCode.UInt16:
                case TypeCode.Char:
                    return @checked ? OpCodes.Conv_Ovf_U2 : OpCodes.Conv_U2;
                case TypeCode.Int32:
                    return @checked ? OpCodes.Conv_Ovf_I4 : OpCodes.Conv_I4;
                case TypeCode.UInt32:
                    return @checked ? OpCodes.Conv_Ovf_U4 : OpCodes.Conv_U4;
                case TypeCode.Int64:
                    return @checked ? OpCodes.Conv_Ovf_I8 : OpCodes.Conv_I8;
                case TypeCode.UInt64:
                    return @checked ? OpCodes.Conv_Ovf_U8 : OpCodes.Conv_U8;
                case TypeCode.Single:
                    return OpCodes.Conv_R4;
                case TypeCode.Double:
                    return OpCodes.Conv_R8;
                default:
                    throw new ArgumentException(typeCode.ToString());
            }
        }
EmitAssembly