1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:18:11 +00:00
serenity/Userland/Libraries/LibJS
Linus Groh 1e01a85cdf LibJS: Import C++ sources from libjs-test262 :^)
This commit upstreams most of the C++ bits of the LibJS test262 runner
at https://github.com/linusg/libjs-test262/, specifically everything but
the main.cpp file serving as the actual executable.
Since all of these are just regular JS objects, I opted to put them in
LibJS itself, in a new Contrib/ directory like many other projects have
one. Other code that can end up there in the future is the runtime for
esvu, which might even share some functionality with test262's $262
object.

The code has been copied verbatim, and only a small number of changes
have been made:

- Putting everything into the JS::Test262 namespace
- Removing now redundant JS namespace prefixes
- Updating includes to use absolute <LibJS/...> paths
- Updating the SPDX-License-Identifier comments from MIT to BSD-2-Clause

I gained permission to change the license and upstream these changes
from all the major contributors to this code: Ali, Andrew, David, Idan.

The removal of the code from the source repository is here:
https://github.com/linusg/libjs-test262/pull/54

This is only the first step, the goal is to eventually upstream the
actual libjs-test262-runner executable and supporting Python scripts
into SerenityOS as well.
2022-03-29 21:01:08 +01:00
..
Bytecode LibJS/Bytecode: Implement the delete unary expression 2022-03-28 14:05:33 +02:00
Contrib/Test262 LibJS: Import C++ sources from libjs-test262 :^) 2022-03-29 21:01:08 +01:00
Heap DevTools+LibJS+LibWeb: Change class_name to use StringView 2022-03-19 00:20:46 +00:00
Runtime LibJS: Implement the EnumerateObjectProperties AO 2022-03-29 14:34:08 +03:00
Tests LibJS: Bring ForIn body evaluation closer to the specification 2022-03-29 14:34:08 +03:00
AST.cpp LibJS: Bring ForIn body evaluation closer to the specification 2022-03-29 14:34:08 +03:00
AST.h LibJS/Bytecode: Add support for new.target 2022-03-19 22:01:52 +01:00
CMakeLists.txt LibJS: Import C++ sources from libjs-test262 :^) 2022-03-29 21:01:08 +01:00
Console.cpp LibJS: Change balance_duration() nanoseconds from a JS to Crypto BigInt 2022-03-19 19:28:49 +00:00
Console.h LibJS: Implement console.time/timeLog/timeEnd() methods 2021-12-27 21:44:07 +01:00
CyclicModule.cpp LibJS: Use new NativeFunction::create() in most places 2022-02-20 23:21:40 +00:00
CyclicModule.h LibJS: Implement the import assertions proposal 2022-01-30 17:40:20 +00:00
Forward.h LibJS: Describe various kinds of "Duration Records" 2022-03-10 23:20:39 +01:00
Interpreter.cpp LibJS: Use TRY(push_execution_context()) in places where we can recover 2022-03-18 01:12:12 +01:00
Interpreter.h LibJS: Tweak Interpreter::create() for more spec-likeness 2022-03-18 01:12:12 +01:00
Lexer.cpp LibJS: Always inline Lexer::current_code_point() 2022-02-13 14:44:36 +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 Libraries: Use default constructors/destructors in LibJS 2022-03-16 16:19:40 +00:00
Module.h Libraries: Use default constructors/destructors in LibJS 2022-03-16 16:19:40 +00:00
Parser.cpp LibJS: Implement the object literal __proto__ property key special case 2022-03-06 01:38:25 +02:00
Parser.h LibJS: Fix mixing of logical and coalescing operators 2022-02-16 11:18:41 +00:00
Script.cpp Libraries: Use default constructors/destructors in LibJS 2022-03-16 16:19:40 +00:00
Script.h Libraries: Use default constructors/destructors in LibJS 2022-03-16 16:19:40 +00:00
SourceRange.h LibJS: Add missing headers 2021-10-06 23:52:40 +01:00
SourceTextModule.cpp LibJS: Use TRY(push_execution_context()) in places where we can recover 2022-03-18 01:12:12 +01:00
SourceTextModule.h LibJS: Implement the import assertions proposal 2022-01-30 17:40:20 +00:00
SyntaxHighlighter.cpp Libraries: Use default constructors/destructors in LibJS 2022-03-16 16:19:40 +00:00
SyntaxHighlighter.h Libraries: Use default constructors/destructors in LibJS 2022-03-16 16:19:40 +00:00
SyntheticModule.cpp LibJS: Use TRY(push_execution_context()) in places where we can recover 2022-03-18 01:12:12 +01:00
SyntheticModule.h LibJS: Add support for JSON modules 2022-01-30 17:40:20 +00:00
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 LibJS: Add Token::flystring_value() to produce FlyString directly 2022-02-13 14:44:36 +01:00