Index: src/array.js |
diff --git a/src/array.js b/src/array.js |
index 55c59eb4a12ec9aa3af47ecc232bcce2df901b94..5e3e72dc8d797315ff0d6afdb26c5cfba06d1492 100644 |
--- a/src/array.js |
+++ b/src/array.js |
@@ -3,12 +3,22 @@ |
// found in the LICENSE file. |
var $arrayConcat; |
+var $arrayJoin; |
var $arrayPush; |
var $arrayPop; |
var $arrayShift; |
var $arraySlice; |
var $arraySplice; |
var $arrayUnshift; |
+var $innerArrayForEach; |
+var $innerArrayEvery; |
+var $innerArrayFilter; |
+var $innerArrayIndexOf; |
+var $innerArrayLastIndexOf; |
+var $innerArrayMap; |
+var $innerArrayReverse; |
+var $innerArraySome; |
+var $innerArraySort; |
(function(global, utils) { |
@@ -23,20 +33,10 @@ |
var InternalArray = utils.InternalArray; |
var InternalPackedArray = utils.InternalPackedArray; |
-var Delete; |
var MathMin; |
-var ObjectHasOwnProperty; |
-var ObjectIsFrozen; |
-var ObjectIsSealed; |
-var ObjectToString; |
utils.Import(function(from) { |
- Delete = from.Delete; |
MathMin = from.MathMin; |
- ObjectHasOwnProperty = from.ObjectHasOwnProperty; |
- ObjectIsFrozen = from.ObjectIsFrozen; |
- ObjectIsSealed = from.ObjectIsSealed; |
- ObjectToString = from.ObjectToString; |
}); |
// ------------------------------------------------------------------- |
@@ -392,7 +392,7 @@ |
func = array.join; |
} |
if (!IS_SPEC_FUNCTION(func)) { |
- return %_CallFunction(array, ObjectToString); |
+ return %_CallFunction(array, $objectToString); |
} |
return %_CallFunction(array, func); |
} |
@@ -467,7 +467,7 @@ |
n--; |
var value = array[n]; |
- Delete(array, $toName(n), true); |
+ $delete(array, $toName(n), true); |
array.length = n; |
return value; |
} |
@@ -645,7 +645,7 @@ |
return; |
} |
- if (ObjectIsSealed(array)) throw MakeTypeError(kArrayFunctionsOnSealed); |
+ if ($objectIsSealed(array)) throw MakeTypeError(kArrayFunctionsOnSealed); |
if (%IsObserved(array)) |
return ObservedArrayShift.call(array, len); |
@@ -696,7 +696,7 @@ |
var num_arguments = %_ArgumentsLength(); |
if (len > 0 && UseSparseVariant(array, len, IS_ARRAY(array), len) && |
- !ObjectIsSealed(array)) { |
+ !$objectIsSealed(array)) { |
SparseMove(array, 0, 0, len, num_arguments); |
} else { |
SimpleMove(array, 0, 0, len, num_arguments); |
@@ -842,9 +842,9 @@ |
deleted_elements.length = del_count; |
var num_elements_to_add = num_arguments > 2 ? num_arguments - 2 : 0; |
- if (del_count != num_elements_to_add && ObjectIsSealed(array)) { |
+ if (del_count != num_elements_to_add && $objectIsSealed(array)) { |
throw MakeTypeError(kArrayFunctionsOnSealed); |
- } else if (del_count > 0 && ObjectIsFrozen(array)) { |
+ } else if (del_count > 0 && $objectIsFrozen(array)) { |
throw MakeTypeError(kArrayFunctionsOnFrozen); |
} |
@@ -1582,7 +1582,7 @@ |
DONT_ENUM | READ_ONLY); |
// Set up non-enumerable functions on the Array object. |
-utils.InstallFunctions(GlobalArray, DONT_ENUM, [ |
+$installFunctions(GlobalArray, DONT_ENUM, [ |
"isArray", ArrayIsArray |
]); |
@@ -1603,7 +1603,7 @@ |
// set their names. |
// Manipulate the length of some of the functions to meet |
// expectations set by ECMA-262 or Mozilla. |
-utils.InstallFunctions(GlobalArray.prototype, DONT_ENUM, [ |
+$installFunctions(GlobalArray.prototype, DONT_ENUM, [ |
"toString", getFunction("toString", ArrayToString), |
"toLocaleString", getFunction("toLocaleString", ArrayToLocaleString), |
"join", getFunction("join", ArrayJoin), |
@@ -1632,7 +1632,7 @@ |
// The internal Array prototype doesn't need to be fancy, since it's never |
// exposed to user code. |
// Adding only the functions that are actually used. |
-utils.SetUpLockedPrototype(InternalArray, GlobalArray(), [ |
+$setUpLockedPrototype(InternalArray, GlobalArray(), [ |
"concat", getFunction("concat", ArrayConcatJS), |
"indexOf", getFunction("indexOf", ArrayIndexOf), |
"join", getFunction("join", ArrayJoin), |
@@ -1642,30 +1642,15 @@ |
"splice", getFunction("splice", ArraySplice) |
]); |
-utils.SetUpLockedPrototype(InternalPackedArray, GlobalArray(), [ |
+$setUpLockedPrototype(InternalPackedArray, GlobalArray(), [ |
"join", getFunction("join", ArrayJoin), |
"pop", getFunction("pop", ArrayPop), |
"push", getFunction("push", ArrayPush), |
"shift", getFunction("shift", ArrayShift) |
]); |
-// ------------------------------------------------------------------- |
-// Exports |
- |
-utils.Export(function(to) { |
- to.ArrayJoin = ArrayJoin; |
- to.InnerArrayEvery = InnerArrayEvery; |
- to.InnerArrayFilter = InnerArrayFilter; |
- to.InnerArrayForEach = InnerArrayForEach; |
- to.InnerArrayIndexOf = InnerArrayIndexOf; |
- to.InnerArrayLastIndexOf = InnerArrayLastIndexOf; |
- to.InnerArrayMap = InnerArrayMap; |
- to.InnerArrayReverse = InnerArrayReverse; |
- to.InnerArraySome = InnerArraySome; |
- to.InnerArraySort = InnerArraySort; |
-}); |
- |
$arrayConcat = ArrayConcatJS; |
+$arrayJoin = ArrayJoin; |
$arrayPush = ArrayPush; |
$arrayPop = ArrayPop; |
$arrayShift = ArrayShift; |
@@ -1673,4 +1658,14 @@ |
$arraySplice = ArraySplice; |
$arrayUnshift = ArrayUnshift; |
+$innerArrayEvery = InnerArrayEvery; |
+$innerArrayFilter = InnerArrayFilter; |
+$innerArrayForEach = InnerArrayForEach; |
+$innerArrayIndexOf = InnerArrayIndexOf; |
+$innerArrayLastIndexOf = InnerArrayLastIndexOf; |
+$innerArrayMap = InnerArrayMap; |
+$innerArrayReverse = InnerArrayReverse; |
+$innerArraySome = InnerArraySome; |
+$innerArraySort = InnerArraySort; |
+ |
}); |