1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 15:28:11 +00:00
serenity/Libraries/LibJS
Andreas Kling bdffc9e7fb LibJS: Support array holes, encoded as empty JS::Value
This patch adds a new kind of JS::Value, the empty value.
It's what you get when you do JSValue() (or most commonly, {} in C++.)

An empty Value signifies the absence of a value, and should never be
visible to JavaScript itself. As of right now, it's used for array
holes and as a return value when an exception has been thrown and we
just want to unwind.

This patch is a bit of a mess as I had to fix a whole bunch of code
that was relying on JSValue() being undefined, etc.
2020-04-06 20:27:44 +02:00
..
Heap LibJS: Do a garbage collection every N allocations (N=10'000) 2020-04-06 15:54:46 +02:00
Runtime LibJS: Support array holes, encoded as empty JS::Value 2020-04-06 20:27:44 +02:00
Tests LibJS: Fix some tests for Math.min() 2020-04-06 15:14:34 +02:00
AST.cpp LibJS: Support array holes, encoded as empty JS::Value 2020-04-06 20:27:44 +02:00
AST.h LibJS: Add a PropertyName class that represents a string or a number 2020-04-06 18:09:26 +02:00
Forward.h LibJS: Correctly forward declare "Argument" as a struct 2020-04-04 10:46:00 +02:00
Interpreter.cpp LibJS: Support array holes, encoded as empty JS::Value 2020-04-06 20:27:44 +02:00
Interpreter.h LibJS: Give argument vectors an inline capacity of 8 2020-04-06 19:22:12 +02:00
Lexer.cpp LibJS: Report the start position of a token as its line column 2020-04-05 16:11:13 +02:00
Lexer.h LibJS: Allow lexer to run without logging errors 2020-04-05 16:11:13 +02:00
Makefile LibJS: Add NumberObject and make to_object() on number values create it 2020-04-04 23:13:13 +02:00
Parser.cpp LibJS: Fix do..while parsing by consuming parentheses explicitly (#1652) 2020-04-05 16:57:01 +02:00
Parser.h LibJS: Add support for "continue" inside "for" statements :^) 2020-04-05 00:22:42 +02:00
Token.cpp LibJS: Add numeric literal parsing for different bases and exponents 2020-04-05 16:01:22 +02:00
Token.h LibJS: Plumb line and column information through Lexer / Parser 2020-04-05 12:43:39 +02:00