LibJS: Implement null and undefined literals

This commit is contained in:
0xtechnobabble 2020-03-15 23:32:34 +02:00 committed by Andreas Kling
parent 7aad10d984
commit cfd710eb31
Notes: sideshowbarker 2024-07-19 08:16:59 +09:00
6 changed files with 61 additions and 0 deletions

View file

@ -223,6 +223,12 @@ NonnullOwnPtr<Expression> Parser::parse_primary_expression()
return make<BooleanLiteral>(consume().bool_value());
case TokenType::StringLiteral:
return make<StringLiteral>(consume().string_value());
case TokenType::NullLiteral:
consume();
return make<NullLiteral>();
case TokenType::UndefinedLiteral:
consume();
return make<UndefinedLiteral>();
case TokenType::CurlyOpen:
return parse_object_expression();
default:
@ -498,6 +504,7 @@ bool Parser::match_expression() const
return type == TokenType::BoolLiteral
|| type == TokenType::NumericLiteral
|| type == TokenType::StringLiteral
|| type == TokenType::UndefinedLiteral
|| type == TokenType::NullLiteral
|| type == TokenType::Identifier
|| type == TokenType::New