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
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