1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 22:17:42 +00:00

LibJS: Remove UndefinedLiteral, add undefined to global object

There is no such thing as a "undefined literal" in JS - undefined is
just a property on the global object with a value of undefined.
This is pretty similar to NaN.

var undefined = "foo"; is a perfectly fine AssignmentExpression :^)
This commit is contained in:
Linus Groh 2020-04-02 22:08:14 +01:00 committed by Andreas Kling
parent 543c6e00db
commit 2636cac6e4
6 changed files with 1 additions and 30 deletions

View file

@ -490,12 +490,6 @@ void BooleanLiteral::dump(int indent) const
printf("BooleanLiteral %s\n", m_value ? "true" : "false");
}
void UndefinedLiteral::dump(int indent) const
{
print_indent(indent);
printf("undefined\n");
}
void NullLiteral::dump(int indent) const
{
print_indent(indent);
@ -812,11 +806,6 @@ Value BooleanLiteral::execute(Interpreter&) const
return Value(m_value);
}
Value UndefinedLiteral::execute(Interpreter&) const
{
return {};
}
Value NullLiteral::execute(Interpreter&) const
{
return js_null();