1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 08:08:12 +00:00
serenity/Userland/Libraries/LibJS
Linus Groh e8519156bc LibJS: Implement create_dynamic_function() according to the spec
The three major changes are:

- Parsing parameters, the function body, and then the full assembled
  function source all separately. This is required by the spec, as
  function parameters and body must be valid each on their own, which
  cannot be guaranteed if we only ever parse the full function.
- Returning an ECMAScriptFunctionObject instead of a FunctionExpression
  that needs to be evaluated separately. This vastly simplifies the
  {Async,AsyncGenerator,Generator,}Function constructor implementations.
  Drop '_node' from the function name accordingly.
- The prototype is now determined via GetPrototypeFromConstructor and
  passed to OrdinaryFunctionCreate.
2022-01-16 01:54:48 +01:00
..
Bytecode LibJS: Rename FunctionKind::{Regular => Normal} 2022-01-16 01:54:48 +01:00
Heap LibJS: Add Handle specialisation for Value 2022-01-05 11:21:38 +01:00
Runtime LibJS: Implement create_dynamic_function() according to the spec 2022-01-16 01:54:48 +01:00
Tests LibJS: Implement create_dynamic_function() according to the spec 2022-01-16 01:54:48 +01:00
AST.cpp LibJS: Rename FunctionKind::{Regular => Normal} 2022-01-16 01:54:48 +01:00
AST.h LibJS: Replace the custom unwind mechanism with completions :^) 2022-01-06 12:36:23 +01:00
CMakeLists.txt LibJS: Support non-UTC time zones in Temporal :^) 2022-01-11 22:17:39 +01:00
Console.cpp LibJS: Implement console.time/timeLog/timeEnd() methods 2021-12-27 21:44:07 +01:00
Console.h LibJS: Implement console.time/timeLog/timeEnd() methods 2021-12-27 21:44:07 +01:00
Forward.h LibJS: Add MarkedVector<T> 2021-12-16 22:48:17 +01:00
Interpreter.cpp LibJS: Remove now unused VM::{set_,}last_value() 2022-01-08 23:43:03 +01:00
Interpreter.h LibJS: Convert Interpreter::run() to ThrowCompletionOr<Value> 2022-01-08 23:43:03 +01:00
Lexer.cpp LibJS: Detect invalid unicode and stop lexing at that point 2021-12-29 16:57:23 +01:00
Lexer.h LibJS: Detect invalid unicode and stop lexing at that point 2021-12-29 16:57:23 +01:00
MarkupGenerator.cpp LibJS+js: Pretty-print Date objects using the ToDateString AO 2022-01-15 20:13:48 +01:00
MarkupGenerator.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
Module.cpp LibJS: Add a barebones Module class 2021-09-14 21:41:51 +02:00
Module.h LibJS: Add a barebones Module class 2021-09-14 21:41:51 +02:00
Parser.cpp LibJS: Implement create_dynamic_function() according to the spec 2022-01-16 01:54:48 +01:00
Parser.h LibJS: Implement create_dynamic_function() according to the spec 2022-01-16 01:54:48 +01:00
Script.cpp LibJS+LibWeb: Move script parse time logging from JS::Script to LibWeb 2021-09-14 21:41:51 +02:00
Script.h LibJS+LibWeb: Let JS::Script::parse() return a list of errors (on error) 2021-09-14 21:41:51 +02:00
SourceRange.h LibJS: Add missing headers 2021-10-06 23:52:40 +01:00
SourceTextModule.cpp LibJS: Add a barebones SourceTextModule class 2021-09-14 21:41:51 +02:00
SourceTextModule.h LibJS: Add a barebones SourceTextModule class 2021-09-14 21:41:51 +02:00
SyntaxHighlighter.cpp LibJS: Remove unused header includes 2021-08-01 08:10:16 +02:00
SyntaxHighlighter.h LibWeb+LibSyntax: Implement nested syntax highlighters 2021-06-07 14:45:49 +04:30
Token.cpp LibJS: Disallow '\8' and '\9' in strict mode due to being octal escapes 2021-11-30 17:05:32 +00:00
Token.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00