1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 15:48:12 +00:00
serenity/Libraries/LibJS
mattco98 80fecc615a LibJS: Add spreading in array literals
Implement the syntax and behavor necessary to support array literals
such as [...[1, 2, 3]]. A type error is thrown if the target of the
spread operator does not evaluate to an array (though it should
eventually just check for an iterable).

Note that the spread token's name is TripleDot, since the '...' token is
used for two features: spread and rest. Calling it anything involving
'spread' or 'rest' would be a bit confusing.
2020-04-27 11:32:18 +02:00
..
Heap LibJS: Add MarkedValueList and use it for argument passing 2020-04-19 17:34:33 +02:00
Runtime LibJS: Add Array.prototype.findIndex 2020-04-27 11:23:23 +02:00
Tests LibJS: Add spreading in array literals 2020-04-27 11:32:18 +02:00
AST.cpp LibJS: Add spreading in array literals 2020-04-27 11:32:18 +02:00
AST.h LibJS: Add spreading in array literals 2020-04-27 11:32:18 +02:00
Forward.h LibJS: Add Uint8ClampedArray :^) 2020-04-21 23:47:39 +02:00
Interpreter.cpp LibJS: Stop using Optional<Value> in favor of Value's empty state 2020-04-25 18:45:22 +02:00
Interpreter.h LibJS: Stop using Optional<Value> in favor of Value's empty state 2020-04-25 18:45:22 +02:00
Lexer.cpp LibJS: Add spreading in array literals 2020-04-27 11:32:18 +02:00
Lexer.h LibJS: Handle HTML-style comments 2020-04-14 12:54:09 +02:00
Makefile LibJS: Add Uint8ClampedArray :^) 2020-04-21 23:47:39 +02:00
Parser.cpp LibJS: Add spreading in array literals 2020-04-27 11:32:18 +02:00
Parser.h LibJS: Parse while statements 2020-04-22 11:48:14 +02:00
Token.cpp LibJS: Add TokenType::TemplateLiteral 2020-04-24 11:18:57 +02:00
Token.h LibJS: Add spreading in array literals 2020-04-27 11:32:18 +02:00