TriAxis.RunSharp.CodeGen.EmitConvHelper C# (CSharp) Method

EmitConvHelper() protected method

protected EmitConvHelper ( TypeCode to ) : void
to TypeCode
return void
        protected internal void EmitConvHelper(TypeCode to)
        {
            OpCode op;

            switch (to)
            {
                case TypeCode.SByte:
                    op = OpCodes.Conv_I1; break;
                case TypeCode.Byte:
                    op = OpCodes.Conv_U1; break;
                case TypeCode.Int16:
                    op = OpCodes.Conv_I2; break;
                case TypeCode.UInt16:
                case TypeCode.Char:
                    op = OpCodes.Conv_U2; break;
                case TypeCode.Int32:
                    op = OpCodes.Conv_I4; break;
                case TypeCode.UInt32:
                    op = OpCodes.Conv_U4; break;
                case TypeCode.Int64:
                    op = OpCodes.Conv_I8; break;
                case TypeCode.UInt64:
                    op = OpCodes.Conv_U8; break;
                case TypeCode.Single:
                    op = OpCodes.Conv_R4; break;
                case TypeCode.Double:
                    op = OpCodes.Conv_R8; break;
                default:
                    throw new NotSupportedException();
            }

            IL.Emit(op);
        }

Usage Example

Example #1
0
 public override void Emit(CodeGen g, Type from, Type to)
 {
     g.EmitConvHelper(Type.GetTypeCode(to));
 }
All Usage Examples Of TriAxis.RunSharp.CodeGen::EmitConvHelper