ladybird/Libraries/LibJS
Matthew Olsson 2ea85355fe LibJS: Start implementing iterable framework, add ArrayIterator
With the addition of symbol keys, work can now be done on starting to
implement the well-known symbol functionality. The most important of
these well-known symbols is by far Symbol.iterator.

This patch adds IteratorPrototype, as well as ArrayIterator and
ArrayIteratorPrototype. In the future, sometime after StringIterator has
also been added, this will allow us to use Symbol.iterator directly in
for..of loops, enabling the use of custom iterator objects. Also makes
adding iterator support to native objects much easier (as will have to
be done for Map and Set, when they get added).
2020-07-11 18:54:13 +02:00
..
Heap LibJS: Move native objects towards two-pass construction 2020-06-20 15:46:30 +02:00
Runtime LibJS: Start implementing iterable framework, add ArrayIterator 2020-07-11 18:54:13 +02:00
Tests LibJS: Start implementing iterable framework, add ArrayIterator 2020-07-11 18:54:13 +02:00
AST.cpp LibJS: Renamed Object::GetOwnPropertyReturnMode to Object::PropertyKind 2020-07-11 18:54:13 +02:00
AST.h LibJS: Initial class implementation; allow super expressions in object 2020-06-29 17:54:54 +02:00
CMakeLists.txt LibJS: Start implementing iterable framework, add ArrayIterator 2020-07-11 18:54:13 +02:00
Console.cpp LibJS: Move Interpreter::get_trace() to ConsoleClient 2020-06-02 15:22:34 +02:00
Console.h LibJS: Move Interpreter::get_trace() to ConsoleClient 2020-06-02 15:22:34 +02:00
Forward.h LibJS: Start implementing iterable framework, add ArrayIterator 2020-07-11 18:54:13 +02:00
Interpreter.cpp LibJS: Move global symbol map from SymbolObject to Interpreter 2020-07-09 23:29:28 +02:00
Interpreter.h LibJS: Move global symbol map from SymbolObject to Interpreter 2020-07-09 23:29:28 +02:00
Lexer.cpp LibJS: Move regex logic to main Lexer if statement 2020-06-08 09:18:27 +02:00
Lexer.h LibJS: Lex and parse regex literals, add RegExp objects 2020-06-07 19:06:55 +02:00
MarkupGenerator.cpp LibJS: Integrate Symbols into objects as valid keys 2020-07-09 23:33:00 +02:00
MarkupGenerator.h Meta: Add a script check the presence of "#pragma once" in header files 2020-05-29 07:59:45 +02:00
Parser.cpp LibJS: Initial class implementation; allow super expressions in object 2020-06-29 17:54:54 +02:00
Parser.h LibJS: Initial class implementation; allow super expressions in object 2020-06-29 17:54:54 +02:00
Token.cpp LibJS: Fix out-of-bounds read when parsing escape sequences 2020-06-01 17:37:44 +02:00
Token.h LibJS: Add BigInt 2020-06-07 19:29:40 +02:00