DeleteValueAtIndex() static private method

static private DeleteValueAtIndex ( Object obj, ulong index ) : bool
obj Object
index ulong
return bool
        public static Object unshift(Object thisob, params Object[] args)
        {
            if (args == null || args.Length == 0)
            {
                return(thisob);
            }
            if (thisob is ArrayObject)
            {
                return(((ArrayObject)thisob).Unshift(args));
            }
            uint oldLength = Convert.ToUint32(LateBinding.GetMemberValue(thisob, "length"));
            long newLength = oldLength + args.Length;

            LateBinding.SetMemberValue(thisob, "length", newLength);
            // shift the array
            for (long i = oldLength - 1; i >= 0; i--)
            {
                Object val = LateBinding.GetValueAtIndex(thisob, (ulong)i);
                if (val is Missing)
                {
                    LateBinding.DeleteValueAtIndex(thisob, (ulong)(i + args.Length));
                }
                else
                {
                    LateBinding.SetValueAtIndex(thisob, (ulong)(i + args.Length), val);
                }
            }
            // copy the input args
            for (uint i = 0; i < args.Length; i++)
            {
                LateBinding.SetValueAtIndex(thisob, i, args[i]);
            }
            return(thisob);
        }
        public static Object shift(Object thisob)
        {
            Object res = null;

            if (thisob is ArrayObject)
            {
                return(((ArrayObject)thisob).Shift());
            }
            uint length = Convert.ToUint32(LateBinding.GetMemberValue(thisob, "length"));

            if (length == 0)
            {
                LateBinding.SetMemberValue(thisob, "length", 0);
                return(res);
            }
            res = LateBinding.GetValueAtIndex(thisob, 0);
            for (uint i = 1; i < length; i++)
            {
                Object val = LateBinding.GetValueAtIndex(thisob, i);
                if (val is Missing)
                {
                    LateBinding.DeleteValueAtIndex(thisob, i - 1);
                }
                else
                {
                    LateBinding.SetValueAtIndex(thisob, i - 1, val);
                }
            }
            LateBinding.DeleteValueAtIndex(thisob, length - 1);
            LateBinding.SetMemberValue(thisob, "length", length - 1);
            return(res);
        }
 public static object unshift(object thisob, params object[] args)
 {
     if ((args != null) && (args.Length != 0))
     {
         if (thisob is ArrayObject)
         {
             return(((ArrayObject)thisob).Unshift(args));
         }
         uint num  = Microsoft.JScript.Convert.ToUint32(LateBinding.GetMemberValue(thisob, "length"));
         long num2 = num + args.Length;
         LateBinding.SetMemberValue(thisob, "length", num2);
         for (long i = num - 1; i >= 0L; i -= 1L)
         {
             object valueAtIndex = LateBinding.GetValueAtIndex(thisob, (ulong)i);
             if (valueAtIndex is Missing)
             {
                 LateBinding.DeleteValueAtIndex(thisob, (ulong)(i + args.Length));
             }
             else
             {
                 LateBinding.SetValueAtIndex(thisob, (ulong)(i + args.Length), valueAtIndex);
             }
         }
         for (uint j = 0; j < args.Length; j++)
         {
             LateBinding.SetValueAtIndex(thisob, (ulong)j, args[j]);
         }
     }
     return(thisob);
 }
        public static object shift(object thisob)
        {
            object valueAtIndex = null;

            if (thisob is ArrayObject)
            {
                return(((ArrayObject)thisob).Shift());
            }
            uint num = Microsoft.JScript.Convert.ToUint32(LateBinding.GetMemberValue(thisob, "length"));

            if (num == 0)
            {
                LateBinding.SetMemberValue(thisob, "length", 0);
                return(valueAtIndex);
            }
            valueAtIndex = LateBinding.GetValueAtIndex(thisob, 0L);
            for (uint i = 1; i < num; i++)
            {
                object obj3 = LateBinding.GetValueAtIndex(thisob, (ulong)i);
                if (obj3 is Missing)
                {
                    LateBinding.DeleteValueAtIndex(thisob, (ulong)(i - 1));
                }
                else
                {
                    LateBinding.SetValueAtIndex(thisob, (ulong)(i - 1), obj3);
                }
            }
            LateBinding.DeleteValueAtIndex(thisob, (ulong)(num - 1));
            LateBinding.SetMemberValue(thisob, "length", num - 1);
            return(valueAtIndex);
        }
        public static Object pop(Object thisob)
        {
            uint thisLength = Convert.ToUint32(LateBinding.GetMemberValue(thisob, "length"));

            if (thisLength == 0)
            {
                LateBinding.SetMemberValue(thisob, "length", 0);
                return(null);
            }
            Object result = LateBinding.GetValueAtIndex(thisob, thisLength - 1);

            LateBinding.DeleteValueAtIndex(thisob, thisLength - 1);
            LateBinding.SetMemberValue(thisob, "length", thisLength - 1);
            return(result);
        }
        public static object pop(object thisob)
        {
            uint num = Microsoft.JScript.Convert.ToUint32(LateBinding.GetMemberValue(thisob, "length"));

            if (num == 0)
            {
                LateBinding.SetMemberValue(thisob, "length", 0);
                return(null);
            }
            object valueAtIndex = LateBinding.GetValueAtIndex(thisob, (ulong)(num - 1));

            LateBinding.DeleteValueAtIndex(thisob, (ulong)(num - 1));
            LateBinding.SetMemberValue(thisob, "length", num - 1);
            return(valueAtIndex);
        }