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, |
]); |
}) |