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 UNARY_POSTFIX = makePredicate("-- ++");
var ASSIGNMENT = makePredicate("= += -= /= *= %= >>= <<= >>>= |= ^= &="); var ASSIGNMENT = makePredicate("= += -= /= *= %= **= >>= <<= >>>= |= ^= &=");
var PRECEDENCE = function(a, ret) { var PRECEDENCE = function(a, ret) {
for (var i = 0; i < a.length;) { for (var i = 0; i < a.length;) {

View File

@@ -43,6 +43,28 @@ await: {
node_version: ">=8" 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: { evaluate: {
options = { options = {
evaluate: true, evaluate: true,

View File

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