Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(412)

Unified Diff: src/js/runtime.js

Issue 1704533002: Support rest element pattern with user-defined iterable (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/contexts.h ('k') | src/parsing/pattern-rewriter.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/js/runtime.js
diff --git a/src/js/runtime.js b/src/js/runtime.js
index eeb887aff4cba2c110cfbe1eddf246e0a1f48db1..c59eceef3876c24c64ec29498a0a6db6c5f87743 100644
--- a/src/js/runtime.js
+++ b/src/js/runtime.js
@@ -23,11 +23,13 @@ var GlobalString = global.String;
var MakeRangeError;
var MakeTypeError;
var speciesSymbol;
+var iteratorSymbol
utils.Import(function(from) {
MakeRangeError = from.MakeRangeError;
MakeTypeError = from.MakeTypeError;
speciesSymbol = from.species_symbol;
+ iteratorSymbol = from.iterator_symbol;
});
utils.ImportFromExperimental(function(from) {
@@ -67,8 +69,9 @@ function SameValueZero(x, y) {
}
-function ConcatIterableToArray(target, iterable) {
+function ConcatIteratorToArray(target, iterator) {
var index = target.length;
+ var iterable = { [iteratorSymbol]() { return iterator; } };
for (var element of iterable) {
AddIndexedProperty(target, index++, element);
}
@@ -171,7 +174,7 @@ utils.Export(function(to) {
});
%InstallToContext([
- "concat_iterable_to_array", ConcatIterableToArray,
+ "concat_iterator_to_array", ConcatIteratorToArray,
]);
})
« no previous file with comments | « src/contexts.h ('k') | src/parsing/pattern-rewriter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698