@@ -25,7 +25,7 @@ def expression_parsers
2525 [
2626 # Unary operators
2727 unary . new ( Node ::Expression ::Unary ::Not , 'not' , 70 ) ,
28- unary . new ( Node ::Expression ::Unary ::Spread , '...' , 512 , description : 'Spread Operator' ) ,
28+ unary . new ( Node ::Expression ::Unary ::Spread , '...' , 512 , description : 'Spread Operator' , operand_precedence : 0 ) ,
2929 unary . new ( Node ::Expression ::Unary ::Neg , '-' , 500 ) ,
3030 unary . new ( Node ::Expression ::Unary ::Pos , '+' , 500 ) ,
3131
@@ -46,6 +46,8 @@ def expression_parsers
4646 binary . new ( Node ::Expression ::Binary ::BitwiseAnd , 'b-and' , 16 ) ,
4747 binary . new ( Node ::Expression ::Binary ::Equal , '==' , 20 ) ,
4848 binary . new ( Node ::Expression ::Binary ::NotEqual , '!=' , 20 ) ,
49+ binary . new ( Node ::Expression ::Binary ::SameAs , '===' , 20 ) ,
50+ binary . new ( Node ::Expression ::Binary ::NotSameAs , '!==' , 20 ) ,
4951 binary . new ( Node ::Expression ::Binary ::Spaceship , '<=>' , 20 ) ,
5052 binary . new ( Node ::Expression ::Binary ::Less , '<' , 20 ) ,
5153 binary . new ( Node ::Expression ::Binary ::Greater , '>' , 20 ) ,
@@ -87,6 +89,9 @@ def expression_parsers
8789 # Arrow function
8890 ExpressionParser ::Infix ::Arrow . new ,
8991
92+ # Assignment operator
93+ ExpressionParser ::Infix ::Assignment . new ,
94+
9095 # All literals
9196 ExpressionParser ::Prefix ::Literal . new ,
9297 ]
0 commit comments