1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-30 21:48:11 +00:00
serenity/Userland/Libraries/LibJS
Timothy Flynn 566a8dfd93 LibJS: Allow GeneratorObject to be subclassed
In the Iterator Helpers proposal, we must create a generator object with
additional internal slots and behavior differences.

GeneratorObject is currently implemented assuming it wraps around an
ECMAScriptFunctionObject with generated bytecode. In this proposal, we
instead have "Abstract Closure" blocks. So this marks the `execute`
method as virtual, to allow the future subclass to essentially just
invoke those closures.

We will also require mutable access to the [[GeneratorState]] internal
slot.
2023-07-16 23:56:55 +01:00
..
Bytecode LibJS/Bytecode: Do not unwind eagerly after throwing Await 2023-07-15 11:27:43 +02:00
Contrib/Test262 LibJS: Do not use the $ special character in file names 2023-07-15 11:09:22 -04:00
Heap LibWeb+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
Runtime LibJS: Allow GeneratorObject to be subclassed 2023-07-16 23:56:55 +01:00
Tests LibJS/Tests: Test splice at non zero index 2023-07-16 17:13:44 +01:00
AST.cpp LibJS: Delete for_each_lexical_function_declaration_in_reverse_order() 2023-07-15 21:34:45 +02:00
AST.h LibJS: Delete for_each_lexical_function_declaration_in_reverse_order() 2023-07-15 21:34:45 +02:00
CMakeLists.txt LibJS: Do not use the $ special character in file names 2023-07-15 11:09:22 -04:00
Console.cpp LibJS: Begin implementing console.dir 2023-06-22 06:46:27 +02:00
Console.h LibJS: Begin implementing console.dir 2023-06-22 06:46:27 +02:00
CyclicModule.cpp LibJS+LibWeb: Add missing visit calls in visit_edges implementations 2023-04-30 06:04:33 +02:00
CyclicModule.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
Forward.h LibJS: Forward declare the MemberExpression AST node 2023-07-07 18:11:51 +02:00
Interpreter.cpp LibJS/Bytecode: Leave GlobalDeclarationInstantiation in C++ 2023-06-16 08:40:45 +02:00
Interpreter.h Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
Lexer.cpp LibJS: Parse slashes after reserved identifiers correctly 2023-06-10 07:20:33 +02:00
Lexer.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
MarkupGenerator.cpp LibJS: Fix redundancy-detection when printing raw values 2023-06-15 08:09:16 +02:00
MarkupGenerator.h LibJS: Fix redundancy-detection when printing raw values 2023-06-15 08:09:16 +02:00
Module.cpp LibJS+Everywhere: Propagate Cell::initialize errors from Heap::allocate 2023-01-29 00:02:45 +00:00
Module.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
Parser.cpp LibJS: Speed up has declaration check in ScopePusher 2023-07-13 04:58:16 +02:00
Parser.h LibJS: Identify global variables during parsing 2023-07-12 16:03:16 +02:00
ParserError.cpp LibJS: Add to_string definitions to CodeGenerationError and ParserError 2023-02-17 09:14:23 -05:00
ParserError.h LibJS: Add to_string definitions to CodeGenerationError and ParserError 2023-02-17 09:14:23 -05:00
Print.cpp LibJS: Allow GeneratorObject to be subclassed 2023-07-16 23:56:55 +01:00
Print.h Everywhere: Remove the AK:: qualifier from Stream usages 2023-02-13 00:50:07 +00:00
SafeFunction.h LibJS: Fix compilation of operator= for JS::SafeFunction 2023-03-07 11:51:12 +00:00
Script.cpp LibJS: Convert Heap::allocate{,_without_realm}() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
Script.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
SourceCode.cpp LibJS: Make RefPtr and NonnullRefPtr usage const-correct 2023-02-21 00:54:04 +01:00
SourceCode.h LibJS: Make RefPtr and NonnullRefPtr usage const-correct 2023-02-21 00:54:04 +01:00
SourceRange.h LibJS+LibWeb: Add a bunch of missing includes 2023-03-06 13:05:43 +00:00
SourceTextModule.cpp LibJS: Make AsyncFunctionStart and AsyncBlockStart templates 2023-07-16 14:56:10 +01:00
SourceTextModule.h LibJS: Implement import.meta for bytecode 2023-07-14 06:06:04 +02:00
SyntaxHighlighter.cpp LibSyntax+Libraries: Replace TextStyle with Gfx::TextAttributes 2023-03-15 14:55:49 +01:00
SyntaxHighlighter.h LibSyntax: Teach each highlighter about it's comment syntax 2022-11-27 18:28:43 -07:00
SyntheticModule.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
SyntheticModule.h AK+Everywhere: Rename FlyString to DeprecatedFlyString 2023-01-09 23:00:24 +00:00
Token.cpp AK: Remove StringBuilder::build() in favor of to_deprecated_string() 2023-01-27 20:38:49 +00:00
Token.h LibJS: Remove DeprecatedString usage from Token 2023-01-26 20:25:25 +00:00