mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-01 13:49:16 +00:00
LibJS: Implement exponentiation assignment operator (**=)
This commit is contained in:
parent
3e754a15d4
commit
a2e1f1a872
Notes:
sideshowbarker
2024-07-19 06:57:56 +09:00
Author: https://github.com/linusg
Commit: a2e1f1a872
Pull-request: https://github.com/SerenityOS/serenity/pull/2105
8 changed files with 23 additions and 5 deletions
|
@ -133,7 +133,7 @@ Parser::Parser(Lexer lexer)
|
|||
g_operator_precedence.set(TokenType::Equals, 3);
|
||||
g_operator_precedence.set(TokenType::PlusEquals, 3);
|
||||
g_operator_precedence.set(TokenType::MinusEquals, 3);
|
||||
g_operator_precedence.set(TokenType::AsteriskAsteriskEquals, 3);
|
||||
g_operator_precedence.set(TokenType::DoubleAsteriskEquals, 3);
|
||||
g_operator_precedence.set(TokenType::AsteriskEquals, 3);
|
||||
g_operator_precedence.set(TokenType::SlashEquals, 3);
|
||||
g_operator_precedence.set(TokenType::PercentEquals, 3);
|
||||
|
@ -637,6 +637,9 @@ NonnullRefPtr<Expression> Parser::parse_secondary_expression(NonnullRefPtr<Expre
|
|||
case TokenType::DoubleAsterisk:
|
||||
consume();
|
||||
return create_ast_node<BinaryExpression>(BinaryOp::Exponentiation, move(lhs), parse_expression(min_precedence, associativity));
|
||||
case TokenType::DoubleAsteriskEquals:
|
||||
consume();
|
||||
return create_ast_node<AssignmentExpression>(AssignmentOp::ExponentiationAssignment, move(lhs), parse_expression(min_precedence, associativity));
|
||||
case TokenType::GreaterThan:
|
||||
consume();
|
||||
return create_ast_node<BinaryExpression>(BinaryOp::GreaterThan, move(lhs), parse_expression(min_precedence, associativity));
|
||||
|
@ -1192,6 +1195,7 @@ bool Parser::match_secondary_expression() const
|
|||
|| type == TokenType::SlashEquals
|
||||
|| type == TokenType::Percent
|
||||
|| type == TokenType::DoubleAsterisk
|
||||
|| type == TokenType::DoubleAsteriskEquals
|
||||
|| type == TokenType::Equals
|
||||
|| type == TokenType::EqualsEqualsEquals
|
||||
|| type == TokenType::ExclamationMarkEqualsEquals
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue