diff options
author | Moonchild <moonchild@palemoon.org> | 2019-11-10 13:33:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-10 13:33:18 +0100 |
commit | ffd99743369997aea555d76867d90b3c601e9ed4 (patch) | |
tree | 0a1162b528b0801096d27eeed1e891a29437bd6c /js/src/builtin/Iterator.js | |
parent | 736d25cbec4541186ed46c935c117ce4d1c7f3bb (diff) | |
parent | 406326715dfb8342617df1e8985a296d0cd1b97c (diff) | |
download | UXP-ffd99743369997aea555d76867d90b3c601e9ed4.tar UXP-ffd99743369997aea555d76867d90b3c601e9ed4.tar.gz UXP-ffd99743369997aea555d76867d90b3c601e9ed4.tar.lz UXP-ffd99743369997aea555d76867d90b3c601e9ed4.tar.xz UXP-ffd99743369997aea555d76867d90b3c601e9ed4.zip |
Merge pull request #1278 from MoonchildProductions/js-modules
Partial solution for JS modules
Diffstat (limited to 'js/src/builtin/Iterator.js')
-rw-r--r-- | js/src/builtin/Iterator.js | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/js/src/builtin/Iterator.js b/js/src/builtin/Iterator.js index 735eec7a0..e25b76156 100644 --- a/js/src/builtin/Iterator.js +++ b/js/src/builtin/Iterator.js @@ -84,44 +84,3 @@ function LegacyIteratorShim() { function LegacyGeneratorIteratorShim() { return NewLegacyIterator(ToObject(this), LegacyGeneratorIterator); } - -// 7.4.8 CreateListIterator() -function CreateListIterator(array) { - let iterator = NewListIterator(); - UnsafeSetReservedSlot(iterator, ITERATOR_SLOT_TARGET, array); - UnsafeSetReservedSlot(iterator, ITERATOR_SLOT_NEXT_INDEX, 0); - - // 7.4.8.1 ListIterator next() - // The spec requires that we use a new next function per iterator object. - let next = function() { - if (!IsObject(this) || !IsListIterator(this)) - return callFunction(CallListIteratorMethodIfWrapped, this, "ListIteratorNext"); - - if (ActiveFunction() !== UnsafeGetReservedSlot(this, ITERATOR_SLOT_NEXT_METHOD)) - ThrowTypeError(JSMSG_INCOMPATIBLE_METHOD, "next", "method", ToString(this)); - - let array = UnsafeGetObjectFromReservedSlot(this, ITERATOR_SLOT_TARGET); - let index = UnsafeGetReservedSlot(this, ITERATOR_SLOT_NEXT_INDEX); - - if (index >= ToLength(array.length)) { - UnsafeSetReservedSlot(this, ITERATOR_SLOT_NEXT_INDEX, 1/0); - return { value: undefined, done: true }; - } - - UnsafeSetReservedSlot(this, ITERATOR_SLOT_NEXT_INDEX, index + 1); - return { value: array[index], done: false }; - }; - - UnsafeSetReservedSlot(iterator, ITERATOR_SLOT_NEXT_METHOD, next); - iterator.next = next; - - iterator[std_iterator] = ListIteratorIdentity; - return iterator; -} - -function ListIteratorIdentity() { - if (!IsObject(this) || !IsListIterator(this)) - return callFunction(CallListIteratorMethodIfWrapped, this, "ListIteratorIdentity"); - - return this; -} |