Boo.Lang.Runtime.MethodDispatcherEmitter.GetStoreElementOpCode C# (CSharp) Method

GetStoreElementOpCode() static private method

static private GetStoreElementOpCode ( Type type ) : OpCode
type System.Type
return System.Reflection.Emit.OpCode
        static OpCode GetStoreElementOpCode(Type type)
        {
            if (type.IsValueType)
            {
                if (type.IsEnum) return OpCodes.Stelem_I4;

                switch (Type.GetTypeCode(type))
                {
                    case TypeCode.Byte:
                        return OpCodes.Stelem_I1;
                    case TypeCode.Int16:
                        return OpCodes.Stelem_I2;
                    case TypeCode.Int32:
                        return OpCodes.Stelem_I4;
                    case TypeCode.Int64:
                        return OpCodes.Stelem_I8;
                    case TypeCode.Single:
                        return OpCodes.Stelem_R4;
                    case TypeCode.Double:
                        return OpCodes.Stelem_R8;
                }
                return OpCodes.Stobj;
            }
            return OpCodes.Stelem_Ref;
        }