AsmResolver.X86.X86Assembler.WriteNumber C# (CSharp) Method

WriteNumber() private method

private WriteNumber ( object value, X86OperandSize size ) : void
value object
size X86OperandSize
return void
        private void WriteNumber(object value, X86OperandSize size)
        {
            switch (size)
            {
                case X86OperandSize.Byte:
                    if (value is sbyte || value is short || value is int || value is long)
                        _writer.WriteSByte(Convert.ToSByte(value));
                    else
                        _writer.WriteByte(Convert.ToByte(value));
                    break;
                case X86OperandSize.Word:
                    if (value is sbyte || value is short || value is int || value is long)
                        _writer.WriteInt16(Convert.ToInt16(value));
                    else
                        _writer.WriteUInt16(Convert.ToUInt16(value));
                    break;
                case X86OperandSize.WordOrDword:
                case X86OperandSize.Dword:
                    if (value is sbyte || value is short || value is int || value is long)
                        _writer.WriteInt32(Convert.ToInt32(value));
                    else
                        _writer.WriteUInt32(Convert.ToUInt32(value));
                    break;
                default:
                    throw new NotSupportedException();
            }
        }