njs_parser_node_t *node;
njs_vmcode_operation_t operation;
- token = njs_parser_conditional_expression(vm, parser, token);
+ token = njs_parser_assignment_expression(vm, parser, token);
if (nxt_slow_path(token <= NJS_TOKEN_ILLEGAL)) {
return token;
}
{ nxt_string("var a, b = (a = [2]) * (3 * 4); a +' '+ b"),
nxt_string("2 24") },
+ { nxt_string("var a = 1; var b = a += 1; b"),
+ nxt_string("2") },
+
+ { nxt_string("var a = 1; var b = a -= 1; b"),
+ nxt_string("0") },
+
+ { nxt_string("var a = 1; var b = a <<= 1; b"),
+ nxt_string("2") },
+
/* 3 address operation and side effect. */
{ nxt_string("var a = 1; function f(x) { a = x; return 2 }; a+f(5)+' '+a"),