Skip to content

Commit 90f59c2

Browse files
fix unnecessary parentheses for binary operators and add regression test
1 parent 86d0006 commit 90f59c2

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

escodegen.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1835,7 +1835,7 @@
18351835
BinaryExpression: function (expr, precedence, flags) {
18361836
var result, leftPrecedence, rightPrecedence, currentPrecedence, fragment, leftSource;
18371837
currentPrecedence = BinaryPrecedence[expr.operator];
1838-
leftPrecedence = expr.operator === '**' ? Precedence.Postfix : currentPrecedence + 1;
1838+
leftPrecedence = expr.operator === '**' ? Precedence.Postfix : currentPrecedence;
18391839
rightPrecedence = expr.operator === '**' ? currentPrecedence : currentPrecedence + 1;
18401840

18411841
if (currentPrecedence < precedence) {
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
a + b + c;
2+
a + (b + c);
3+
a + b * c;
4+
a * b + c;

test/compare/binary-precedence.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
(a + b) + c;
2+
a + (b + c);
3+
a + b * c;
4+
a * b + c;

0 commit comments

Comments
 (0)