support **= (#4778)

This commit is contained in:
Alex Lam S.L
2021-03-15 13:53:48 +00:00
committed by GitHub
parent 149d75c092
commit 01aa078e9c
3 changed files with 26 additions and 2 deletions

View File

@@ -100,6 +100,7 @@ var OPERATORS = makePredicate([
"/=",
"*=",
"%=",
"**=",
">>=",
"<<=",
">>>=",
@@ -652,7 +653,7 @@ var UNARY_PREFIX = makePredicate("typeof void delete -- ++ ! ~ - +");
var UNARY_POSTFIX = makePredicate("-- ++");
var ASSIGNMENT = makePredicate("= += -= /= *= %= >>= <<= >>>= |= ^= &=");
var ASSIGNMENT = makePredicate("= += -= /= *= %= **= >>= <<= >>>= |= ^= &=");
var PRECEDENCE = function(a, ret) {
for (var i = 0; i < a.length;) {

View File

@@ -43,6 +43,28 @@ await: {
node_version: ">=8"
}
assignment_1: {
input: {
var a = 2;
a **= 5;
console.log(a);
}
expect_exact: "var a=2;a**=5;console.log(a);"
expect_stdout: "32"
node_version: ">=8"
}
assignment_2: {
input: {
var a = 8n;
a **= a;
console.log(a);
}
expect_exact: "var a=8n;a**=a;console.log(a);"
expect_stdout: "16777216n"
node_version: ">=10"
}
evaluate: {
options = {
evaluate: true,

View File

@@ -277,14 +277,15 @@ var ASSIGNMENTS = [
"-=",
"*=",
"/=",
"%=",
"&=",
"|=",
"^=",
"<<=",
">>=",
">>>=",
"%=",
];
if (SUPPORT.exponentiation) ASSIGNMENTS.push("**=");
var UNARY_SAFE = [
"+",