| Index: src/harmony-spread.js
|
| diff --git a/src/harmony-spread.js b/src/harmony-spread.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2b27ce6e2a3ffbb6f9c5e2a01e5e522f32cd83f3
|
| --- /dev/null
|
| +++ b/src/harmony-spread.js
|
| @@ -0,0 +1,34 @@
|
| +// Copyright 2013 the V8 project authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +'use strict';
|
| +
|
| +// -------------------------------------------------------------------
|
| +
|
| +function SpreadArguments() {
|
| + var count = %_ArgumentsLength();
|
| + var args = new InternalArray();
|
| +
|
| + for (var i = 0; i < count; ++i) {
|
| + var array = %_Arguments(i);
|
| + var length = array.length;
|
| + for (var j = 0; j < length; ++j) {
|
| + args.push(array[j]);
|
| + }
|
| + }
|
| +
|
| + return args;
|
| +}
|
| +
|
| +function SpreadIterable(collection) {
|
| + if (IS_NULL_OR_UNDEFINED(collection)) {
|
| + throw MakeTypeError("not_iterable", [collection]);
|
| + }
|
| +
|
| + var args = new InternalArray();
|
| + for (var value of collection) {
|
| + args.push(value);
|
| + }
|
| + return args;
|
| +}
|
|
|