1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-02 15:32:13 +00:00

LibJS: Parse === and !== binary operators

This commit is contained in:
Conrad Pankoff 2020-03-12 23:11:33 +11:00 committed by Andreas Kling
parent 9d41aa4d5d
commit e88f2f15ee
4 changed files with 42 additions and 6 deletions

View file

@ -157,6 +157,12 @@ NonnullOwnPtr<Expression> Parser::parse_secondary_expression(NonnullOwnPtr<Expre
case TokenType::LessThanEquals:
consume();
return make<BinaryExpression>(BinaryOp::LessThanEquals, move(lhs), parse_expression());
case TokenType::EqualsEqualsEquals:
consume();
return make<BinaryExpression>(BinaryOp::TypedEquals, move(lhs), parse_expression());
case TokenType::ExclamationMarkEqualsEquals:
consume();
return make<BinaryExpression>(BinaryOp::TypedInequals, move(lhs), parse_expression());
case TokenType::ParenOpen:
return parse_call_expression(move(lhs));
case TokenType::Equals:
@ -276,6 +282,8 @@ bool Parser::match_secondary_expression() const
|| type == TokenType::Slash
|| type == TokenType::SlashEquals
|| type == TokenType::Equals
|| type == TokenType::EqualsEqualsEquals
|| type == TokenType::ExclamationMarkEqualsEquals
|| type == TokenType::GreaterThan
|| type == TokenType::GreaterThanEquals
|| type == TokenType::LessThan